[ 
https://issues.apache.org/jira/browse/HTTPCLIENT-2310?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17791674#comment-17791674
 ] 

Oleg Kalnichevski commented on HTTPCLIENT-2310:
-----------------------------------------------

> It seems like the fix works fine.

[~marianbabii] Much appreciated. I was more concerned about breaking things in 
the process more than about the fix itself.

> However, I can't create a connect request due to an exception, and there is 
> no reason to do so

There is. Status 200 response to CONNECT immediately puts the connection into 
the tunnel mode, which completely breaks the HttpClient message processing 
pipeline and connection management as well. For those cases when one needs to 
establish a tunnel through a proxy we provide `ProxyClient` class that does 
exactly that.  

>  I can't add extra headers to this request, and a simple example is a 
> "Proxy-Authorization" header to avoid 407 status code

One should never meddle with CONNECT requests and should let HttpClient 
generate the correct `Proxy-Authorization` header by configuring 
`CredentialsProvider` in the HTTP execution context.

Oleg

> Async client incorrectly pipes CONNECT requests through the main request 
> protocol chain
> ---------------------------------------------------------------------------------------
>
>                 Key: HTTPCLIENT-2310
>                 URL: https://issues.apache.org/jira/browse/HTTPCLIENT-2310
>             Project: HttpComponents HttpClient
>          Issue Type: Bug
>          Components: HttpClient (classic)
>    Affects Versions: 5.2.2, 5.2.1
>            Reporter: Marian
>            Priority: Minor
>             Fix For: 5.3-alpha2
>
>         Attachments: image-2023-11-28-15-12-04-268.png, 
> image-2023-11-28-15-12-20-327.png
>
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> HttpRequestInterceptor can be added to both CloseableHttpClient and 
> CloseableHttpAsyncClient, but a CONNECT request can be caught only with 
> CloseableHttpAsyncClient. 
> Even if I use the following examples: [for 
> async|https://github.com/apache/httpcomponents-client/blob/5.2.x/httpclient5/src/test/java/org/apache/hc/client5/http/examples/AsyncClientInterceptors.java]
>  or [for 
> classic|https://github.com/apache/httpcomponents-client/blob/5.2.x/httpclient5/src/test/java/org/apache/hc/client5/http/examples/ClientInterceptors.java]
>  from GitHub.
> Could it be possible to fix this issue and cover the "connect" request in 
> CloseableHttpClient's request interceptor?



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@hc.apache.org
For additional commands, e-mail: dev-h...@hc.apache.org

Reply via email to