diff options
author | Greg Wilkins | 2015-02-04 05:27:29 +0000 |
---|---|---|
committer | Greg Wilkins | 2015-02-04 05:27:29 +0000 |
commit | 2563ef6871fe9886eaae73c0b23b128c60207b9c (patch) | |
tree | 2bbd2c88cc880e7cc37d3f0a24c2a98755d5696a | |
parent | 5e95caaf29db883db64d32609e4579a3dabba8f4 (diff) | |
download | org.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.java | 6 |
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) |