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:29 UTC

[httpcomponents-client] branch HTTPCLIENT-2170 created (now 0252eca)

This is an automated email from the ASF dual-hosted git repository.

olegk pushed a change to branch HTTPCLIENT-2170
in repository https://gitbox.apache.org/repos/asf/httpcomponents-client.git.


      at 0252eca  HTTPCLIENT-2170: Classic protocol layer no longer releases the underlying connection back to the pool prematurely while the NTLM handshake is still ongoing

This branch includes the following new commits:

     new 0252eca  HTTPCLIENT-2170: Classic protocol layer no longer releases the underlying connection back to the pool prematurely while the NTLM handshake is still ongoing

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


[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

Posted by ol...@apache.org.
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;
                 }
             }