From 329a8ebc2baf45ca5827a267fec30f3df9821e84 Mon Sep 17 00:00:00 2001 From: Naoki Takezoe Date: Thu, 22 Mar 2018 01:39:02 +0900 Subject: [PATCH 1/3] Support all of paths which end with slash --- .../scala/gitbucket/core/controller/ControllerBase.scala | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/main/scala/gitbucket/core/controller/ControllerBase.scala b/src/main/scala/gitbucket/core/controller/ControllerBase.scala index d7bde6129..b4ad4a7fc 100644 --- a/src/main/scala/gitbucket/core/controller/ControllerBase.scala +++ b/src/main/scala/gitbucket/core/controller/ControllerBase.scala @@ -43,6 +43,15 @@ abstract class ControllerBase extends ScalatraFilter contentType = formats("json") } + override def requestPath(uri: String, idx: Int): String = { + val path = super.requestPath(uri, idx) + if(path != "/" && path.endsWith("/")){ + path.substring(0, path.length - 1) + } else { + path + } + } + override def doFilter(request: ServletRequest, response: ServletResponse, chain: FilterChain): Unit = try { val httpRequest = request.asInstanceOf[HttpServletRequest] val context = request.getServletContext.getContextPath From 7d7b13de6eaa98375ea8f8f5dddf48412f73f076 Mon Sep 17 00:00:00 2001 From: Naoki Takezoe Date: Mon, 26 Mar 2018 03:36:34 +0900 Subject: [PATCH 2/3] Remove tail slash --- src/main/scala/gitbucket/core/controller/ApiController.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/scala/gitbucket/core/controller/ApiController.scala b/src/main/scala/gitbucket/core/controller/ApiController.scala index 5c3d55459..2044558fb 100644 --- a/src/main/scala/gitbucket/core/controller/ApiController.scala +++ b/src/main/scala/gitbucket/core/controller/ApiController.scala @@ -77,7 +77,7 @@ trait ApiControllerBase extends ControllerBase { /** * https://developer.github.com/v3/#root-endpoint */ - get("/api/v3/") { + get("/api/v3") { JsonFormat(ApiEndPoint()) } From 66d2af1ef5890e1547acf1ed90faa0b660b70de7 Mon Sep 17 00:00:00 2001 From: Naoki Takezoe Date: Mon, 26 Mar 2018 16:19:17 +0900 Subject: [PATCH 3/3] Fix redirection path --- src/main/scala/gitbucket/core/controller/WikiController.scala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/scala/gitbucket/core/controller/WikiController.scala b/src/main/scala/gitbucket/core/controller/WikiController.scala index d93292dee..5349fb988 100644 --- a/src/main/scala/gitbucket/core/controller/WikiController.scala +++ b/src/main/scala/gitbucket/core/controller/WikiController.scala @@ -109,7 +109,7 @@ trait WikiControllerBase extends ControllerBase { val Array(from, to) = params("commitId").split("\\.\\.\\.") if(revertWikiPage(repository.owner, repository.name, from, to, context.loginAccount.get, None)){ - redirect(s"/${repository.owner}/${repository.name}/wiki/") + redirect(s"/${repository.owner}/${repository.name}/wiki") } else { flash += "info" -> "This patch was not able to be reversed." redirect(s"/${repository.owner}/${repository.name}/wiki/_compare/${from}...${to}")