summaryrefslogtreecommitdiffstats
path: root/org.eclipse.jgit.http.server
diff options
context:
space:
mode:
authorJonathan Nieder <jrn@google.com>2015-06-02 16:40:23 -0700
committerJonathan Nieder <jrn@google.com>2015-06-02 16:54:08 -0700
commitcc4f4f2fe14cb56611d42af34b0baa51bd6632aa (patch)
treed67eae8c2af00ed679079f84acd73a2486fa2d93 /org.eclipse.jgit.http.server
parent761e61f1ede1ec3ddeca9b7a6f959f43bb6ee8bb (diff)
downloadjgit-cc4f4f2fe14cb56611d42af34b0baa51bd6632aa.tar.gz
jgit-cc4f4f2fe14cb56611d42af34b0baa51bd6632aa.zip
Use message from ServiceNotAuthorizedException, ServiceNotEnabledException
When sending an error response due to ServiceNotAuthorizedException or ServiceNotEnabledException, usually we send a default message. In the ServiceNotEnabledException case, we use 403 Git access forbidden except in a dumb-HTTP-specific filter where we use the servlet container's default 403 response: 403 Forbidden In the ServiceNotAuthorizedException case, we use the servlet container's default 401 response: 401 Unauthorized There is one exception: a ServiceNotEnabledException when handling a smart HTTP /info/refs request uses the message from the exception: 403 Service not enabled Be more consistent by always using the message from the exception. This way, authors of a RepositoryResolver, UploadPackFactory, or ReceivePackFactory can provide a more detailed message when appropriate. The defaults are 401 Unauthorized 403 Service not enabled Change-Id: Id1fe1c2042fb96487c3671c1965c8a65c4b8e1b8 Signed-off-by: Jonathan Nieder <jrn@google.com>
Diffstat (limited to 'org.eclipse.jgit.http.server')
-rw-r--r--org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/AsIsFileFilter.java4
-rw-r--r--org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/ReceivePackServlet.java5
-rw-r--r--org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/RepositoryFilter.java4
-rw-r--r--org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/SmartServiceInfoRefs.java8
-rw-r--r--org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/UploadPackServlet.java5
5 files changed, 11 insertions, 15 deletions
diff --git a/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/AsIsFileFilter.java b/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/AsIsFileFilter.java
index e8d809659b..d33362b4b4 100644
--- a/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/AsIsFileFilter.java
+++ b/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/AsIsFileFilter.java
@@ -87,9 +87,9 @@ class AsIsFileFilter implements Filter {
asIs.access(req, db);
chain.doFilter(request, response);
} catch (ServiceNotAuthorizedException e) {
- res.sendError(SC_UNAUTHORIZED);
+ res.sendError(SC_UNAUTHORIZED, e.getMessage());
} catch (ServiceNotEnabledException e) {
- res.sendError(SC_FORBIDDEN);
+ res.sendError(SC_FORBIDDEN, e.getMessage());
}
}
}
diff --git a/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/ReceivePackServlet.java b/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/ReceivePackServlet.java
index 030287b5cf..41217d9971 100644
--- a/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/ReceivePackServlet.java
+++ b/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/ReceivePackServlet.java
@@ -137,11 +137,10 @@ class ReceivePackServlet extends HttpServlet {
try {
rp = receivePackFactory.create(req, getRepository(req));
} catch (ServiceNotAuthorizedException e) {
- rsp.sendError(SC_UNAUTHORIZED);
+ rsp.sendError(SC_UNAUTHORIZED, e.getMessage());
return;
-
} catch (ServiceNotEnabledException e) {
- sendError(req, rsp, SC_FORBIDDEN);
+ sendError(req, rsp, SC_FORBIDDEN, e.getMessage());
return;
}
diff --git a/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/RepositoryFilter.java b/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/RepositoryFilter.java
index 58404020cd..a021c1ff5e 100644
--- a/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/RepositoryFilter.java
+++ b/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/RepositoryFilter.java
@@ -137,10 +137,10 @@ public class RepositoryFilter implements Filter {
sendError(req, res, SC_NOT_FOUND);
return;
} catch (ServiceNotEnabledException e) {
- sendError(req, res, SC_FORBIDDEN);
+ sendError(req, res, SC_FORBIDDEN, e.getMessage());
return;
} catch (ServiceNotAuthorizedException e) {
- res.sendError(SC_UNAUTHORIZED);
+ res.sendError(SC_UNAUTHORIZED, e.getMessage());
return;
} catch (ServiceMayNotContinueException e) {
sendError(req, res, SC_FORBIDDEN, e.getMessage());
diff --git a/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/SmartServiceInfoRefs.java b/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/SmartServiceInfoRefs.java
index 51332194b8..7d4f21b5c4 100644
--- a/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/SmartServiceInfoRefs.java
+++ b/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/SmartServiceInfoRefs.java
@@ -98,7 +98,7 @@ abstract class SmartServiceInfoRefs implements Filter {
try {
begin(req, db);
} catch (ServiceNotAuthorizedException e) {
- res.sendError(SC_UNAUTHORIZED);
+ res.sendError(SC_UNAUTHORIZED, e.getMessage());
return;
} catch (ServiceNotEnabledException e) {
sendError(req, res, SC_FORBIDDEN, e.getMessage());
@@ -132,11 +132,9 @@ abstract class SmartServiceInfoRefs implements Filter {
advertise(req, new PacketLineOutRefAdvertiser(out));
buf.close();
} catch (ServiceNotAuthorizedException e) {
- res.sendError(SC_UNAUTHORIZED);
-
+ res.sendError(SC_UNAUTHORIZED, e.getMessage());
} catch (ServiceNotEnabledException e) {
- sendError(req, res, SC_FORBIDDEN);
-
+ sendError(req, res, SC_FORBIDDEN, e.getMessage());
} catch (ServiceMayNotContinueException e) {
if (e.isOutput())
buf.close();
diff --git a/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/UploadPackServlet.java b/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/UploadPackServlet.java
index 44d4b1bcfa..8c27b712ba 100644
--- a/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/UploadPackServlet.java
+++ b/org.eclipse.jgit.http.server/src/org/eclipse/jgit/http/server/UploadPackServlet.java
@@ -137,11 +137,10 @@ class UploadPackServlet extends HttpServlet {
try {
rp = uploadPackFactory.create(req, getRepository(req));
} catch (ServiceNotAuthorizedException e) {
- rsp.sendError(SC_UNAUTHORIZED);
+ rsp.sendError(SC_UNAUTHORIZED, e.getMessage());
return;
-
} catch (ServiceNotEnabledException e) {
- sendError(req, rsp, SC_FORBIDDEN);
+ sendError(req, rsp, SC_FORBIDDEN, e.getMessage());
return;
}