예제 #1
0
파일: errors.go 프로젝트: tanbo800/zerver
func ReportStatus(resp zerver.Response, status int, err error) {
	if err != nil {
		SendErr(resp, err)
	} else {
		resp.ReportStatus(status)
	}
}
예제 #2
0
파일: errors.go 프로젝트: fanbuchi/zerver
func SendErr(resp zerver.Response, err error) {
	switch err := err.(type) {
	case httperrs.Error:
		resp.ReportStatus(err.Code())
		if err.Code() < int(httperrs.Server) {
			OnErrLog(resp.Send(KeyError, err.Error()))
			return
		}
	default:
		resp.ReportInternalServerError()
	}

	Logger.Errorln(err.Error())
}
예제 #3
0
파일: errors.go 프로젝트: tanbo800/zerver
func SendErr(resp zerver.Response, err error) {
	switch err := errors.Unwrap(err).(type) {
	case httperrs.Error:
		resp.ReportStatus(err.Code())
		if err.Code() < int(httperrs.Server) {
			if err := resp.Send(KeyError, err.Error()); err != nil {
				Logger.Errorln(err.Error())
			}
			return
		}
	default:
		resp.ReportInternalServerError()
	}

	Logger.Errorln(err.Error())
}