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()) }
func SendErr(resp zerver.Response, err error) { if err == nil { panic("there is no error occurred") } switch e := errors.Unwrap(err).(type) { case httperrs.Error: resp.StatusCode(e.Code()) if e.Code() < int(httperrs.Server) { resp.Send(Error{e.Error()}) return } default: resp.Logger().Error(log.M{"msg": "internal server error", "error": err.Error()}) resp.StatusCode(http.StatusInternalServerError) } }