diff --git a/jetty-proxy/src/main/java/org/eclipse/jetty/proxy/AsyncProxyServlet.java b/jetty-proxy/src/main/java/org/eclipse/jetty/proxy/AsyncProxyServlet.java index b927ea62a79..f743cd6620f 100644 --- a/jetty-proxy/src/main/java/org/eclipse/jetty/proxy/AsyncProxyServlet.java +++ b/jetty-proxy/src/main/java/org/eclipse/jetty/proxy/AsyncProxyServlet.java @@ -125,7 +125,7 @@ public class AsyncProxyServlet extends ProxyServlet return delegate.rewriteTarget(clientRequest); } } - + protected class StreamReader extends IteratingCallback implements ReadListener { private final byte[] buffer = new byte[getHttpClient().getRequestBufferSize()]; @@ -133,6 +133,7 @@ public class AsyncProxyServlet extends ProxyServlet private final HttpServletResponse response; private final Request proxyRequest; private final DeferredContentProvider provider; + protected StreamReader(HttpServletRequest request, HttpServletResponse response, Request proxyRequest, DeferredContentProvider provider) { diff --git a/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/AsyncIOServletTest.java b/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/AsyncIOServletTest.java index 9454ffd1e10..c021b223839 100644 --- a/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/AsyncIOServletTest.java +++ b/tests/test-http-client-transport/src/test/java/org/eclipse/jetty/http/client/AsyncIOServletTest.java @@ -1252,7 +1252,7 @@ public class AsyncIOServletTest extends AbstractTest @Override public void onDataAvailable() throws IOException { - while (input.isReady() && !input.isFinished()) + while (input.isReady()) { int b = input.read(); if (b>0) @@ -1260,8 +1260,8 @@ public class AsyncIOServletTest extends AbstractTest // System.err.printf("0x%2x %s %n", b, Character.isISOControl(b)?"?":(""+(char)b)); out.write(b); } - else - onAllDataRead(); + else if (b<0) + return; } }