On Fri, 2013-11-22 at 10:55 +0200, Petteri Hentilä wrote: > Hello, > > I'm creating my own asynchronous HTTP client with for performance testing > purposes. I am thinking of using Apache's CloseableHttpAsyncClient for this. > > Here is an example how to use this client: > http://hc.apache.org/httpcomponents-asyncclient-4.0.x/quickstart.html > > With CloseableHttpAsyncClient there are three callback methods completed(), > failed() and cancelled(). The completed() -method gets the HttpResponse as > a parameter and the failed() -method gets the Exception as the parameter. > > However, I would also need an access to the HttpContext object in all of > these callbacks methods. HttpContext represents execution state of an HTTP > process. You can for example store any user related objects to HttpContext. > > Basically what I need is to have an access to HttpContext at least in the > following three different situations: 1. When the Http response is fully > received 2. When an exception occurs (for example the target host is down) > 3. When a connection timeout occurs > > Does anyone know a way to achieve this?
There is nothing that prevents you from passing HttpContext instance to the FutureCallback as a constructor parameter. You might however want to use a custom HttpAsyncResponseConsumer implementation in order to have a complete control over the response processing. As a side note when comes to performance in terms of data throughput you might be better served by a blocking HTTP client: http://wiki.apache.org/HttpComponents/HttpClient3vsHttpClient4vsHttpCore Oleg --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
