From b3e8f29fe9f578e11ad322c94a4bd2dd6cfb6eb0 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Wed, 19 Sep 2012 19:19:20 -0700 Subject: [PATCH] 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 --- .../src/org/eclipse/jgit/http/server/GitFilter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/GitFilter.java b/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/GitFilter.java index 980d246d2..529b8391f 100644 --- a/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/GitFilter.java +++ b/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();