diff --git a/jetty-client/src/main/java/org/eclipse/jetty/client/http/HttpChannelOverHTTP.java b/jetty-client/src/main/java/org/eclipse/jetty/client/http/HttpChannelOverHTTP.java index 3e69c185f75..a73a88ca5a1 100644 --- a/jetty-client/src/main/java/org/eclipse/jetty/client/http/HttpChannelOverHTTP.java +++ b/jetty-client/src/main/java/org/eclipse/jetty/client/http/HttpChannelOverHTTP.java @@ -102,8 +102,8 @@ public class HttpChannelOverHTTP extends HttpChannel if ((response.getVersion() == HttpVersion.HTTP_1_1) && (response.getStatus() == HttpStatus.SWITCHING_PROTOCOLS_101)) { - String connection = response.getHeaders().get(HttpHeader.CONNECTION); - if ((connection == null) || !connection.toLowerCase(Locale.US).contains("upgrade")) + String next_connection = response.getHeaders().get(HttpHeader.CONNECTION); + if ((next_connection == null) || !next_connection.toLowerCase(Locale.US).contains("upgrade")) { return new Result(result,new HttpResponseException("101 Switching Protocols without Connection: Upgrade not supported",response)); } diff --git a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpInput.java b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpInput.java index 40aefbf3136..31d176c5bec 100644 --- a/jetty-server/src/main/java/org/eclipse/jetty/server/HttpInput.java +++ b/jetty-server/src/main/java/org/eclipse/jetty/server/HttpInput.java @@ -686,6 +686,11 @@ public class HttpInput extends ServletInputStream implements Runnable LOG.debug(e); return false; } + finally + { + if (!EOFState.class.isInstance(_state)) + _state = EARLY_EOF; + } } }