diff --git a/modules/context/api.go b/modules/context/api.go index 8005036c8c..b8d4250fa9 100644 --- a/modules/context/api.go +++ b/modules/context/api.go @@ -69,6 +69,7 @@ type APIRedirect struct{} // If status is 500, also it prints error to log. func (ctx *APIContext) Error(status int, title string, obj interface{}) { var message string + if err, ok := obj.(error); ok { message = err.Error() } else { @@ -77,6 +78,10 @@ func (ctx *APIContext) Error(status int, title string, obj interface{}) { if status == http.StatusInternalServerError { log.ErrorWithSkip(1, "%s: %s", title, message) + + if macaron.Env == macaron.PROD { + message = "" + } } ctx.JSON(status, APIError{ @@ -90,8 +95,13 @@ func (ctx *APIContext) Error(status int, title string, obj interface{}) { func (ctx *APIContext) InternalServerError(err error) { log.ErrorWithSkip(1, "InternalServerError: %v", err) + var message string + if macaron.Env != macaron.PROD { + message = err.Error() + } + ctx.JSON(http.StatusInternalServerError, APIError{ - Message: err.Error(), + Message: message, URL: setting.API.SwaggerURL, }) }