Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Wilkins2015-02-04 05:27:29 +0000
committerGreg Wilkins2015-02-04 05:27:29 +0000
commit2563ef6871fe9886eaae73c0b23b128c60207b9c (patch)
tree2bbd2c88cc880e7cc37d3f0a24c2a98755d5696a
parent5e95caaf29db883db64d32609e4579a3dabba8f4 (diff)
downloadorg.eclipse.jetty.project-2563ef6871fe9886eaae73c0b23b128c60207b9c.tar.gz
org.eclipse.jetty.project-2563ef6871fe9886eaae73c0b23b128c60207b9c.tar.xz
org.eclipse.jetty.project-2563ef6871fe9886eaae73c0b23b128c60207b9c.zip
458527 - Implement an async proxy servlet that can perform content transformations.
Handle jetty-9.3 isReady at EOF behaviour
-rw-r--r--jetty-proxy/src/main/java/org/eclipse/jetty/proxy/AsyncMiddleManServlet.java6
1 files changed, 5 insertions, 1 deletions
diff --git a/jetty-proxy/src/main/java/org/eclipse/jetty/proxy/AsyncMiddleManServlet.java b/jetty-proxy/src/main/java/org/eclipse/jetty/proxy/AsyncMiddleManServlet.java
index 0bee62ac66..7c9f5150b9 100644
--- a/jetty-proxy/src/main/java/org/eclipse/jetty/proxy/AsyncMiddleManServlet.java
+++ b/jetty-proxy/src/main/java/org/eclipse/jetty/proxy/AsyncMiddleManServlet.java
@@ -226,14 +226,18 @@ public class AsyncMiddleManServlet extends AbstractProxyServlet
while (input.isReady() && !input.isFinished())
{
int read = readClientRequestContent(input, buffer);
+
if (_log.isDebugEnabled())
_log.debug("{} asynchronous read {} bytes on {}", getRequestId(clientRequest), read, input);
+ if (read<0)
+ return Action.SUCCEEDED;
+
if (contentLength > 0 && read > 0)
length += read;
ByteBuffer content = read > 0 ? ByteBuffer.wrap(buffer, 0, read) : BufferUtil.EMPTY_BUFFER;
- boolean finished = read < 0 || length == contentLength;
+ boolean finished = length == contentLength;
process(content, this, finished);
if (read > 0)

Back to the top