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

Pierre N. commented on HTTPCORE-731:
------------------------------------

#executeOpen is not the exact same method.

In addition to the request we have to specify an HttpHost and a HttpContext.

> Don't deprecate HttpClient.execute
> ----------------------------------
>
>                 Key: HTTPCORE-731
>                 URL: https://issues.apache.org/jira/browse/HTTPCORE-731
>             Project: HttpComponents HttpCore
>          Issue Type: Improvement
>    Affects Versions: 5.2
>            Reporter: Pierre N.
>            Priority: Major
>
> I just upgraded from 5.1 to 5.2 and just saw that the HttpClient.execute has 
> been deprecated in favor of a ResponseHandler passed by parameter.
> While I understand you point of view and the potential risk of non closed 
> resource, I wanted to let you know it is not very pleasant to work with 
> callback based API.
> It create non straight forward code, we have to use and create a lot of 
> exception and the code is less readable and maintenable (very similar to 
> javascript callback hell).
> I really prefer the previous way which should be used with a 
> try-with-resource block to avoid leak.
> Imagine if every closeable resource would have to be open with callback ? 
> Socket, File, Malloc ! etc. It would be very painful.
> Please could you leave some responsibility to your API users ? Most of us 
> know how to close a resource handle :D
>  
>  
> {code:java}
> /*
> * @deprecated It is strongly recommended to use execute methods with {@link 
> HttpClientResponseHandler}
> * such as {@link #execute(ClassicHttpRequest, HttpClientResponseHandler)} in 
> order
> * to ensure automatic resource deallocation by the client.
> * For special cases one can still use {@link #executeOpen(HttpHost, 
> ClassicHttpRequest, HttpContext)}
> * to keep the response object open after the request execution.
> *
> * @see #execute(ClassicHttpRequest, HttpClientResponseHandler)
> * @see #executeOpen(HttpHost, ClassicHttpRequest, HttpContext)
> */
> @Deprecated
> HttpResponse execute(ClassicHttpRequest request) throws IOException; {code}
>  



--
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