Siqi Li created HTTPCLIENT-2057:
-----------------------------------
Summary: [5.0] Potential cleanup for
CloseableHttpAsyncClient#execute(SimpleHttpRequest, HttpContext, FutureCallback)
Key: HTTPCLIENT-2057
URL: https://issues.apache.org/jira/browse/HTTPCLIENT-2057
Project: HttpComponents HttpClient
Issue Type: Improvement
Components: HttpClient (async)
Affects Versions: 5.0
Reporter: Siqi Li
The source code for CloseableHttpAsyncClient#execute(SimpleHttpRequest,
HttpContext, FutureCallback) looks like this:
{code:java}
public final Future<SimpleHttpResponse> execute(
final SimpleHttpRequest request,
final HttpContext context,
final FutureCallback<SimpleHttpResponse> callback) {
Args.notNull(request, "Request");
final BasicFuture<SimpleHttpResponse> future = new
BasicFuture<>(callback);
execute(SimpleRequestProducer.create(request),
SimpleResponseConsumer.create(), context, new
FutureCallback<SimpleHttpResponse>() { @Override
public void completed(final SimpleHttpResponse response) {
future.completed(response);
} @Override
public void failed(final Exception ex) {
future.failed(ex);
} @Override
public void cancelled() {
future.cancel(true);
} });
return future;
}{code}
To me this looks more complicated than it needs to be. I think it can be
replaced with just:
{code:java}
public final Future<SimpleHttpResponse> execute(
final SimpleHttpRequest request,
final HttpContext context,
final FutureCallback<SimpleHttpResponse> callback) {
Args.notNull(request, "Request");
return execute(SimpleRequestProducer.create(request),
SimpleResponseConsumer.create(), context, callback);
}
{code}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]