Browse Source

Use '406 Not Acceptable' when info/refs is disabled

Instead of a confusing 403 Forbidden error indicating the dumb file
service is disabled on this server, use 406 Not Acceptable to mean
the client sent a request for content (the plain info/refs file)
that this server does not want to provide.

The stock C Git client will report HTTP 406 error if it predates
1.6.6 or something goes wrong with the smart request and it tried
falling back to the dumb request. This may help to debug cases where
a broken proxy server exists between the client and the server and
has mangled a prior smart info/refs response.

Change-Id: Ic2b78ba9502e4bbdff7cc3ba1fd284cf7616412b
stable-2.2
Shawn O. Pearce 12 years ago
parent
commit
b3e8f29fe9
  1. 2
      org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/GitFilter.java

2
org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/GitFilter.java

@ -225,7 +225,7 @@ public class GitFilter extends MetaFilter {
refs = refs.through(new AsIsFileFilter(asIs));
refs.with(new InfoRefsServlet());
} else
refs.with(new ErrorServlet(HttpServletResponse.SC_FORBIDDEN));
refs.with(new ErrorServlet(HttpServletResponse.SC_NOT_ACCEPTABLE));
if (asIs != AsIsFileService.DISABLED) {
final IsLocalFilter mustBeLocal = new IsLocalFilter();

Loading…
Cancel
Save