src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/Stream.java
branchhttp-client-branch
changeset 55852 32f6aefec11e
parent 55806 e8bc8370f528
child 55869 54f89370f26a
--- a/src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/Stream.java	Wed Nov 22 10:15:53 2017 +0000
+++ b/src/jdk.incubator.httpclient/share/classes/jdk/incubator/http/Stream.java	Wed Nov 22 11:21:36 2017 +0000
@@ -752,6 +752,20 @@
         }
     }
 
+    /**
+     * Send a RESET frame to tell server to stop sending data on this stream
+     */
+    @Override
+    public CompletableFuture<Void> ignoreBody() {
+        try {
+            connection.resetStream(streamid, ResetFrame.STREAM_CLOSED);
+            return MinimalFuture.completedFuture(null);
+        } catch (Throwable e) {
+            Log.logTrace("Error resetting stream {0}", e.toString());
+            return MinimalFuture.failedFuture(e);
+        }
+    }
+
     DataFrame getDataFrame(ByteBuffer buffer) {
         int requestAmount = Math.min(connection.getMaxSendFrameSize(), buffer.remaining());
         // blocks waiting for stream send window, if exhausted
@@ -1023,7 +1037,7 @@
                         responseCF.completeExceptionally(t);
                     } else {
                         HttpResponseImpl<T> resp =
-                                new HttpResponseImpl<>(r.request, r, body, getExchange());
+                                new HttpResponseImpl<>(r.request, r, null, body, getExchange());
                         responseCF.complete(resp);
                     }
                 });