[
https://issues.apache.org/jira/browse/HTTPCLIENT-2057?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Siqi Li updated HTTPCLIENT-2057:
--------------------------------
Description:
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}
was:
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}
> [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
> Priority: Trivial
>
> 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]