diff --git a/module-client/src/main/java/org/apache/http/impl/client/DefaultClientRequestDirector.java b/module-client/src/main/java/org/apache/http/impl/client/DefaultClientRequestDirector.java index b152f57b5..3497bb45a 100644 --- a/module-client/src/main/java/org/apache/http/impl/client/DefaultClientRequestDirector.java +++ b/module-client/src/main/java/org/apache/http/impl/client/DefaultClientRequestDirector.java @@ -292,6 +292,11 @@ public HttpResponse execute(HttpHost target, HttpRequest request, if (managedConn == null) { managedConn = allocateConnection(route, timeout); } + + if (orig instanceof AbortableHttpRequest) { + ((AbortableHttpRequest) orig).setReleaseTrigger(managedConn); + } + // Reopen connection if needed if (!managedConn.isOpen()) { managedConn.open(route, context, params); @@ -347,10 +352,6 @@ public HttpResponse execute(HttpHost target, HttpRequest request, proxyAuthState); requestExec.preProcess(reqwrap, httpProcessor, context); - if (orig instanceof AbortableHttpRequest) { - ((AbortableHttpRequest) orig).setReleaseTrigger(managedConn); - } - context.setAttribute(ExecutionContext.HTTP_REQUEST, reqwrap);