diff options
author | Simone Bordet | 2015-09-25 09:16:38 +0000 |
---|---|---|
committer | Simone Bordet | 2015-09-25 17:31:40 +0000 |
commit | 3201d0acd24efea32532b0d35c1b8ca74b4ee766 (patch) | |
tree | 325b5f97fdc071334bd7045bf695bc1179148f69 /jetty-http2/http2-http-client-transport | |
parent | 6544af8ce7245ffe5c46192b00aa313da8ad56db (diff) | |
download | org.eclipse.jetty.project-3201d0acd24efea32532b0d35c1b8ca74b4ee766.tar.gz org.eclipse.jetty.project-3201d0acd24efea32532b0d35c1b8ca74b4ee766.tar.xz org.eclipse.jetty.project-3201d0acd24efea32532b0d35c1b8ca74b4ee766.zip |
477878 - HttpClient over HTTP/2 doesn't close upload stream.
Clarified the difference between last and consumed in HttpContent.
Fixed HTTP/2 transport to behave correctly in case of last content.
Diffstat (limited to 'jetty-http2/http2-http-client-transport')
-rw-r--r-- | jetty-http2/http2-http-client-transport/src/main/java/org/eclipse/jetty/http2/client/http/HttpSenderOverHTTP2.java | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/jetty-http2/http2-http-client-transport/src/main/java/org/eclipse/jetty/http2/client/http/HttpSenderOverHTTP2.java b/jetty-http2/http2-http-client-transport/src/main/java/org/eclipse/jetty/http2/client/http/HttpSenderOverHTTP2.java index 1506f37f2c..a4cfaae397 100644 --- a/jetty-http2/http2-http-client-transport/src/main/java/org/eclipse/jetty/http2/client/http/HttpSenderOverHTTP2.java +++ b/jetty-http2/http2-http-client-transport/src/main/java/org/eclipse/jetty/http2/client/http/HttpSenderOverHTTP2.java @@ -64,9 +64,11 @@ public class HttpSenderOverHTTP2 extends HttpSender if (content.hasContent() && !expects100Continue(request)) { - if (content.advance()) + boolean advanced = content.advance(); + boolean lastContent = content.isLast(); + if (advanced || lastContent) { - DataFrame dataFrame = new DataFrame(stream.getId(), content.getByteBuffer(), content.isLast()); + DataFrame dataFrame = new DataFrame(stream.getId(), content.getByteBuffer(), lastContent); stream.data(dataFrame, callback); return; } @@ -80,6 +82,7 @@ public class HttpSenderOverHTTP2 extends HttpSender callback.failed(failure); } }; + // TODO optimize the send of HEADERS and DATA frames. channel.getSession().newStream(headersFrame, promise, channel.getStreamListener()); } |