From 0cf5005a3d8bfe387ccc970c95953351fc83fbe5 Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Thu, 17 Dec 2020 17:18:38 +0000 Subject: [PATCH] Apply abortOnCancel in JettyClientHttpConnector This new option allows a cancel signal to abort the request, which is how we expect a connection to be aborted in a reactive chain that involves the WebClient. Closes gh-26287 --- .../http/client/reactive/JettyClientHttpConnector.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-web/src/main/java/org/springframework/http/client/reactive/JettyClientHttpConnector.java b/spring-web/src/main/java/org/springframework/http/client/reactive/JettyClientHttpConnector.java index 15fcedb8133..01a7ccd36b4 100644 --- a/spring-web/src/main/java/org/springframework/http/client/reactive/JettyClientHttpConnector.java +++ b/spring-web/src/main/java/org/springframework/http/client/reactive/JettyClientHttpConnector.java @@ -123,7 +123,7 @@ public class JettyClientHttpConnector implements ClientHttpConnector { Request request = this.httpClient.newRequest(uri).method(method.toString()); return requestCallback.apply(new JettyClientHttpRequest(request, this.bufferFactory)) - .then(Mono.fromDirect(ReactiveRequest.newBuilder(request).build() + .then(Mono.fromDirect(ReactiveRequest.newBuilder(request).abortOnCancel(true).build() .response((reactiveResponse, chunkPublisher) -> { Flux content = Flux.from(chunkPublisher).map(this::toDataBuffer); return Mono.just(new JettyClientHttpResponse(reactiveResponse, content));