diff --git a/src/main/scala/gitbucket/core/controller/ControllerBase.scala b/src/main/scala/gitbucket/core/controller/ControllerBase.scala index ecb3d13..3097e91 100644 --- a/src/main/scala/gitbucket/core/controller/ControllerBase.scala +++ b/src/main/scala/gitbucket/core/controller/ControllerBase.scala @@ -2,7 +2,7 @@ import java.io.FileInputStream -import gitbucket.core.api.ApiError +import gitbucket.core.api.{ApiError, JsonFormat} import gitbucket.core.model.Account import gitbucket.core.service.{AccountService, RepositoryService, SystemSettingsService} import gitbucket.core.util.SyntaxSugars._ @@ -46,6 +46,7 @@ before("/api/v3/*") { contentType = formats("json") + request.setAttribute(Keys.Request.APIv3, true) } override def requestPath(uri: String, idx: Int): String = { @@ -67,9 +68,6 @@ // Git repository chain.doFilter(request, response) } else { - if (path.startsWith("/api/v3/")) { - httpRequest.setAttribute(Keys.Request.APIv3, true) - } // Scalatra actions super.doFilter(request, response, chain) } @@ -125,7 +123,7 @@ org.scalatra.NotFound() } else if (request.hasAttribute(Keys.Request.APIv3)) { contentType = formats("json") - org.scalatra.NotFound(ApiError("Not Found")) + org.scalatra.NotFound(JsonFormat(ApiError("Not Found"))) } else { org.scalatra.NotFound(gitbucket.core.html.error("Not Found")) } @@ -145,7 +143,7 @@ org.scalatra.Unauthorized() } else if (request.hasAttribute(Keys.Request.APIv3)) { contentType = formats("json") - org.scalatra.Unauthorized(ApiError("Requires authentication")) + org.scalatra.Unauthorized(JsonFormat(ApiError("Requires authentication"))) } else if (!isBrowser(request.getHeader("USER-AGENT"))) { org.scalatra.Unauthorized() } else { @@ -177,7 +175,7 @@ org.scalatra.InternalServerError() } else if (request.hasAttribute(Keys.Request.APIv3)) { contentType = formats("json") - org.scalatra.InternalServerError(ApiError("Internal Server Error")) + org.scalatra.InternalServerError(JsonFormat(ApiError("Internal Server Error"))) } else { org.scalatra.InternalServerError(gitbucket.core.html.error("Internal Server Error", Some(e))) }