diff options
author | Greg Wilkins | 2013-11-01 03:45:16 +0000 |
---|---|---|
committer | Greg Wilkins | 2013-11-01 03:45:16 +0000 |
commit | 852be79a3c17fc86e434b1f65108cb902f6030ca (patch) | |
tree | adc801cfdf39404c82c5325b6df255cea0975df6 /jetty-server | |
parent | 37ea88d299b1220dff4902b46500415046e962cc (diff) | |
parent | 56fcfa45fb642825db38b8197467a63ee2aeffd6 (diff) | |
download | org.eclipse.jetty.project-852be79a3c17fc86e434b1f65108cb902f6030ca.tar.gz org.eclipse.jetty.project-852be79a3c17fc86e434b1f65108cb902f6030ca.tar.xz org.eclipse.jetty.project-852be79a3c17fc86e434b1f65108cb902f6030ca.zip |
Merge remote-tracking branch 'origin/master' into jetty-9.1
Conflicts:
jetty-server/src/test/java/org/eclipse/jetty/server/HttpConnectionTest.java
jetty-servlet/src/main/java/org/eclipse/jetty/servlet/ServletHandler.java
Diffstat (limited to 'jetty-server')
-rw-r--r-- | jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannel.java | 6 | ||||
-rw-r--r-- | jetty-server/src/test/java/org/eclipse/jetty/server/HttpConnectionTest.java | 4 |
2 files changed, 6 insertions, 4 deletions
diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannel.java b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannel.java index 91266bd402..43e3a0fb81 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannel.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpChannel.java @@ -413,9 +413,12 @@ public class HttpChannel<T> implements HttpParser.RequestHandler<T>, Runnable { try { + _request.setAttribute(RequestDispatcher.ERROR_EXCEPTION,x); + _request.setAttribute(RequestDispatcher.ERROR_EXCEPTION_TYPE,x.getClass()); if (_state.isSuspended()) { HttpFields fields = new HttpFields(); + fields.add(HttpHeader.CONNECTION,HttpHeaderValue.CLOSE); ResponseInfo info = new ResponseInfo(_request.getHttpVersion(), fields, 0, HttpStatus.INTERNAL_SERVER_ERROR_500, null, _request.isHead()); boolean committed = sendResponse(info, null, true); if (!committed) @@ -429,8 +432,7 @@ public class HttpChannel<T> implements HttpParser.RequestHandler<T>, Runnable } else { - _request.setAttribute(RequestDispatcher.ERROR_EXCEPTION,x); - _request.setAttribute(RequestDispatcher.ERROR_EXCEPTION_TYPE,x.getClass()); + _response.setHeader(HttpHeader.CONNECTION.asString(),HttpHeaderValue.CLOSE.asString()); _response.sendError(500, x.getMessage()); } } diff --git a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpConnectionTest.java b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpConnectionTest.java index 6476fde3c4..1a7f0d8311 100644 --- a/jetty-server/src/test/java/org/eclipse/jetty/server/HttpConnectionTest.java +++ b/jetty-server/src/test/java/org/eclipse/jetty/server/HttpConnectionTest.java @@ -461,7 +461,7 @@ public class HttpConnectionTest offset=0; requests= - "GET /R1?read=1&error=599 HTTP/1.1\n"+ + "GET /R1?read=1&error=499 HTTP/1.1\n"+ "Host: localhost\n"+ "Transfer-Encoding: chunked\n"+ "Content-Type: text/plain; charset=utf-8\n"+ @@ -481,7 +481,7 @@ public class HttpConnectionTest response=connector.getResponses(requests); - offset = checkContains(response,offset,"HTTP/1.1 599"); + offset = checkContains(response,offset,"HTTP/1.1 499"); offset = checkContains(response,offset,"HTTP/1.1 200"); offset = checkContains(response,offset,"/R2"); offset = checkContains(response,offset,"encoding=UTF-8"); |