diff options
author | Greg Wilkins | 2014-07-02 05:08:06 +0000 |
---|---|---|
committer | Greg Wilkins | 2014-07-02 05:08:06 +0000 |
commit | 228600caf509e02be646415db95048126452e8ac (patch) | |
tree | f721d5793c255e8aa7f97b2bdff17627932a1707 | |
parent | 839485797b74e8dac0180348e14a7464a7816525 (diff) | |
download | org.eclipse.jetty.project-228600caf509e02be646415db95048126452e8ac.tar.gz org.eclipse.jetty.project-228600caf509e02be646415db95048126452e8ac.tar.xz org.eclipse.jetty.project-228600caf509e02be646415db95048126452e8ac.zip |
fixed race in HttpReceiverOverHTTPTest
-rw-r--r-- | jetty-client/src/main/java/org/eclipse/jetty/client/HttpReceiver.java | 3 | ||||
-rw-r--r-- | jetty-client/src/test/java/org/eclipse/jetty/client/http/HttpReceiverOverHTTPTest.java | 7 |
2 files changed, 9 insertions, 1 deletions
diff --git a/jetty-client/src/main/java/org/eclipse/jetty/client/HttpReceiver.java b/jetty-client/src/main/java/org/eclipse/jetty/client/HttpReceiver.java index 7e163caab0..0f5da04d96 100644 --- a/jetty-client/src/main/java/org/eclipse/jetty/client/HttpReceiver.java +++ b/jetty-client/src/main/java/org/eclipse/jetty/client/HttpReceiver.java @@ -301,6 +301,9 @@ public abstract class HttpReceiver if (decoder != null) { buffer = decoder.decode(buffer); + + // TODO If the decoder consumes all the content, should we return here? + if (LOG.isDebugEnabled()) LOG.debug("Response content decoded ({}) {}{}{}", decoder, response, System.lineSeparator(), BufferUtil.toDetailString(buffer)); } diff --git a/jetty-client/src/test/java/org/eclipse/jetty/client/http/HttpReceiverOverHTTPTest.java b/jetty-client/src/test/java/org/eclipse/jetty/client/http/HttpReceiverOverHTTPTest.java index 0be2b91397..7ae69ea92d 100644 --- a/jetty-client/src/test/java/org/eclipse/jetty/client/http/HttpReceiverOverHTTPTest.java +++ b/jetty-client/src/test/java/org/eclipse/jetty/client/http/HttpReceiverOverHTTPTest.java @@ -42,6 +42,7 @@ import org.eclipse.jetty.http.HttpHeader; import org.eclipse.jetty.http.HttpVersion; import org.eclipse.jetty.io.ByteArrayEndPoint; import org.eclipse.jetty.toolchain.test.TestTracker; +import org.eclipse.jetty.util.BufferUtil; import org.junit.After; import org.junit.Assert; import org.junit.Before; @@ -230,8 +231,12 @@ public class HttpReceiverOverHTTPTest @Override public void onContent(Response response, ByteBuffer content) { + boolean hadRemaining=content.hasRemaining(); super.onContent(response, content); - latch.countDown(); + + // TODO gzip decoding can pass on empty chunks. Currently ignoring them here, but could be done at the decoder??? + if (hadRemaining) // Ignore empty chunks + latch.countDown(); } }; HttpExchange exchange = new HttpExchange(destination, request, Collections.<Response.ResponseListener>singletonList(listener)); |