You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hc.apache.org by ol...@apache.org on 2021/08/19 13:30:30 UTC
[httpcomponents-client] 01/01: HTTPCLIENT-2170: Classic protocol
layer no longer releases the underlying connection back to the pool
prematurely while the NTLM handshake is still ongoing
This is an automated email from the ASF dual-hosted git repository.
olegk pushed a commit to branch HTTPCLIENT-2170
in repository https://gitbox.apache.org/repos/asf/httpcomponents-client.git
commit 0252eca893a64b19cc1918e26cdeb466f5145714
Author: Oleg Kalnichevski <ol...@apache.org>
AuthorDate: Thu Aug 19 15:29:39 2021 +0200
HTTPCLIENT-2170: Classic protocol layer no longer releases the underlying connection back to the pool prematurely while the NTLM handshake is still ongoing
---
.../java/org/apache/hc/client5/http/impl/classic/MainClientExec.java | 3 ---
.../java/org/apache/hc/client5/http/impl/classic/ProtocolExec.java | 2 ++
2 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/classic/MainClientExec.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/classic/MainClientExec.java
index 61b844b..df4346a 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/classic/MainClientExec.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/classic/MainClientExec.java
@@ -102,8 +102,6 @@ public final class MainClientExec implements ExecChainHandler {
LOG.debug("{}: executing {}", exchangeId, new RequestLine(request));
}
try {
- RequestEntityProxy.enhance(request);
-
final ClassicHttpResponse response = execRuntime.execute(exchangeId, request, context);
Object userToken = context.getUserToken();
@@ -136,7 +134,6 @@ public final class MainClientExec implements ExecChainHandler {
execRuntime.releaseEndpoint();
return new CloseableHttpResponse(response, null);
}
- ResponseEntityProxy.enhance(response, execRuntime);
return new CloseableHttpResponse(response, execRuntime);
} catch (final ConnectionShutdownException ex) {
final InterruptedIOException ioex = new InterruptedIOException(
diff --git a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/classic/ProtocolExec.java b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/classic/ProtocolExec.java
index 931202f..bdc2101 100644
--- a/httpclient5/src/main/java/org/apache/hc/client5/http/impl/classic/ProtocolExec.java
+++ b/httpclient5/src/main/java/org/apache/hc/client5/http/impl/classic/ProtocolExec.java
@@ -147,6 +147,7 @@ public final class ProtocolExec implements ExecChainHandler {
}
}
+ RequestEntityProxy.enhance(request);
for (;;) {
@@ -214,6 +215,7 @@ public final class ProtocolExec implements ExecChainHandler {
request.addHeader(it.next());
}
} else {
+ ResponseEntityProxy.enhance(response, execRuntime);
return response;
}
}