--- 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);
}
});