mirror of
https://github.com/gitbucket/gitbucket.git
synced 2025-11-08 14:35:52 +01:00
(refs #20)Remove charset from Content-Type header.
This commit is contained in:
@@ -21,6 +21,13 @@ class BasicAuthenticationFilter extends Filter with RepositoryService with Accou
|
|||||||
val request = req.asInstanceOf[HttpServletRequest]
|
val request = req.asInstanceOf[HttpServletRequest]
|
||||||
val response = res.asInstanceOf[HttpServletResponse]
|
val response = res.asInstanceOf[HttpServletResponse]
|
||||||
|
|
||||||
|
val wrappedResponse = new HttpServletResponseWrapper(response){
|
||||||
|
override def setContentType(contentType: String) = {
|
||||||
|
setCharacterEncoding(null)
|
||||||
|
setHeader("Content-Type", contentType)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
val paths = request.getRequestURI.substring(request.getContextPath.length).split("/")
|
val paths = request.getRequestURI.substring(request.getContextPath.length).split("/")
|
||||||
val repositoryOwner = paths(2)
|
val repositoryOwner = paths(2)
|
||||||
@@ -29,14 +36,14 @@ class BasicAuthenticationFilter extends Filter with RepositoryService with Accou
|
|||||||
getRepository(repositoryOwner, repositoryName.replaceFirst("\\.wiki", ""), "") match {
|
getRepository(repositoryOwner, repositoryName.replaceFirst("\\.wiki", ""), "") match {
|
||||||
case Some(repository) => {
|
case Some(repository) => {
|
||||||
if(!request.getRequestURI.endsWith("/git-receive-pack") && !repository.repository.isPrivate){
|
if(!request.getRequestURI.endsWith("/git-receive-pack") && !repository.repository.isPrivate){
|
||||||
chain.doFilter(req, res)
|
chain.doFilter(req, wrappedResponse)
|
||||||
} else {
|
} else {
|
||||||
request.getHeader("Authorization") match {
|
request.getHeader("Authorization") match {
|
||||||
case null => requireAuth(response)
|
case null => requireAuth(response)
|
||||||
case auth => decodeAuthHeader(auth).split(":") match {
|
case auth => decodeAuthHeader(auth).split(":") match {
|
||||||
case Array(username, password) if(isWritableUser(username, password, repository)) => {
|
case Array(username, password) if(isWritableUser(username, password, repository)) => {
|
||||||
request.setAttribute("USER_NAME", username)
|
request.setAttribute("USER_NAME", username)
|
||||||
chain.doFilter(req, res)
|
chain.doFilter(req, wrappedResponse)
|
||||||
}
|
}
|
||||||
case _ => requireAuth(response)
|
case _ => requireAuth(response)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user