From 27ab21c9a718688ce69bcdb935e7f508af85cb2a Mon Sep 17 00:00:00 2001 From: Naoki Takezoe Date: Wed, 6 Dec 2017 03:53:43 +0900 Subject: [PATCH] Fix file uploading issue --- .../controller/FileUploadController.scala | 1 + .../servlet/CompositeScalatraFilter.scala | 36 ++++++++++--------- 2 files changed, 21 insertions(+), 16 deletions(-) diff --git a/src/main/scala/gitbucket/core/controller/FileUploadController.scala b/src/main/scala/gitbucket/core/controller/FileUploadController.scala index 6a45d9df0..edf72681c 100644 --- a/src/main/scala/gitbucket/core/controller/FileUploadController.scala +++ b/src/main/scala/gitbucket/core/controller/FileUploadController.scala @@ -116,6 +116,7 @@ class FileUploadController extends ScalatraServlet with FileUploadSupport with R case Some(file) if(mimeTypeChcker(file.name)) => defining(FileUtil.generateFileId){ fileId => f(file, fileId) + contentType = "text/plain" Ok(fileId) } case _ => BadRequest() diff --git a/src/main/scala/gitbucket/core/servlet/CompositeScalatraFilter.scala b/src/main/scala/gitbucket/core/servlet/CompositeScalatraFilter.scala index 29102d0b3..6b6ee470f 100644 --- a/src/main/scala/gitbucket/core/servlet/CompositeScalatraFilter.scala +++ b/src/main/scala/gitbucket/core/servlet/CompositeScalatraFilter.scala @@ -36,18 +36,22 @@ class CompositeScalatraFilter extends Filter { requestPath + "/" } - filters - .filter { case (_, path) => - val start = path.replaceFirst("/\\*$", "/") - checkPath.startsWith(start) - } - .foreach { case (filter, _) => - val mockChain = new MockFilterChain() - filter.doFilter(request, response, mockChain) - if(mockChain.continue == false){ - return () + if(!checkPath.startsWith("/upload/") && !checkPath.startsWith("/git/") && !checkPath.startsWith("/git-lfs/") && + !checkPath.startsWith("/plugin-assets/") && !checkPath.startsWith("/console/")){ + filters + .filter { case (_, path) => + val start = path.replaceFirst("/\\*$", "/") + checkPath.startsWith(start) } - } + .foreach { case (filter, _) => + val mockChain = new MockFilterChain() + filter.doFilter(request, response, mockChain) + if(mockChain.continue == false){ + return () + } + } + } + chain.doFilter(request, response) } @@ -62,8 +66,8 @@ class MockFilterChain extends FilterChain { } } -class FilterChainFilter(chain: FilterChain) extends Filter { - override def init(filterConfig: FilterConfig): Unit = () - override def destroy(): Unit = () - override def doFilter(request: ServletRequest, response: ServletResponse, mockChain: FilterChain) = chain.doFilter(request, response) -} +//class FilterChainFilter(chain: FilterChain) extends Filter { +// override def init(filterConfig: FilterConfig): Unit = () +// override def destroy(): Unit = () +// override def doFilter(request: ServletRequest, response: ServletResponse, mockChain: FilterChain) = chain.doFilter(request, response) +//}