diff --git a/src/main/scala/gitbucket/core/servlet/GHCompatRepositoryAccessFilter.scala b/src/main/scala/gitbucket/core/servlet/GHCompatRepositoryAccessFilter.scala index 0f1322d..c712dd9 100644 --- a/src/main/scala/gitbucket/core/servlet/GHCompatRepositoryAccessFilter.scala +++ b/src/main/scala/gitbucket/core/servlet/GHCompatRepositoryAccessFilter.scala @@ -19,13 +19,14 @@ override def init(filterConfig: FilterConfig) = {} override def doFilter(req: ServletRequest, res: ServletResponse, chain: FilterChain) = { - implicit val request = req.asInstanceOf[HttpServletRequest] + implicit val request = req.asInstanceOf[HttpServletRequest] + val agent = request.getHeader("USER-AGENT") val response = res.asInstanceOf[HttpServletResponse] val requestPath = request.getRequestURI.substring(request.getContextPath.length) - requestPath match { - case githubRepositoryPattern() => - response.sendRedirect(baseUrl + "/git" + requestPath) + requestPath match { + case githubRepositoryPattern() if agent != null && agent.toLowerCase.indexOf("git") >= 0 => + response.sendRedirect(baseUrl + "/git" + requestPath) case _ => chain.doFilter(req, res) }