Bug fix caused by path splitting.

This commit is contained in:
takezoe
2013-09-27 14:33:27 +09:00
parent 532978522a
commit 0affdb6ad0
5 changed files with 24 additions and 20 deletions

View File

@@ -28,8 +28,8 @@ class BasicAuthenticationFilter extends Filter with RepositoryService with Accou
}
try {
defining(request.paths.toSeq){ case (repositoryOwner :: repositoryName :: _) =>
getRepository(repositoryOwner, repositoryName.replaceFirst("\\.wiki", ""), "") match {
defining(request.paths){ case Array(_, repositoryOwner, repositoryName, _*) =>
getRepository(repositoryOwner, repositoryName.replaceFirst("\\.wiki\\.git$|\\.git$", ""), "") match {
case Some(repository) => {
if(!request.getRequestURI.endsWith("/git-receive-pack") &&
!"service=git-receive-pack".equals(request.getQueryString) && !repository.repository.isPrivate){
@@ -47,7 +47,10 @@ class BasicAuthenticationFilter extends Filter with RepositoryService with Accou
}
}
}
case None => response.sendError(HttpServletResponse.SC_NOT_FOUND)
case None => {
logger.debug(s"Repository ${repositoryOwner}/${repositoryName} is not found.")
response.sendError(HttpServletResponse.SC_NOT_FOUND)
}
}
}
} catch {

View File

@@ -61,8 +61,8 @@ class GitBucketReceivePackFactory extends ReceivePackFactory[HttpServletRequest]
logger.debug("userName:" + userName)
defining(request.paths){ paths =>
val owner = paths(2)
val repository = paths(3).replaceFirst("\\.git$", "")
val owner = paths(1)
val repository = paths(2).replaceFirst("\\.git$", "")
val baseURL = request.getRequestURL.toString.replaceFirst("/git/.*", "")
logger.debug("repository:" + owner + "/" + repository)