Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGreg Wilkins2014-07-02 05:08:06 +0000
committerGreg Wilkins2014-07-02 05:08:06 +0000
commit228600caf509e02be646415db95048126452e8ac (patch)
treef721d5793c255e8aa7f97b2bdff17627932a1707
parent839485797b74e8dac0180348e14a7464a7816525 (diff)
downloadorg.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.java3
-rw-r--r--jetty-client/src/test/java/org/eclipse/jetty/client/http/HttpReceiverOverHTTPTest.java7
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));

Back to the top