Did that...works just fine. 10x On Thu, Mar 11, 2010 at 9:06 PM, Oleg Kalnichevski <[email protected]> wrote:
> Todor Boev wrote: > >> Hi, >> I am working on an asynchronous HTTP client using the httpcore-nio >> library. >> I need to do session management with cookies. I tried to do it like this: >> >> // Make a request/response handler hooked to the executor >> BasicHttpProcessor httpproc = new BasicHttpProcessor(); >> httpproc.addInterceptor(new RequestContent()); >> httpproc.addInterceptor(new RequestTargetHost()); >> httpproc.addInterceptor(new RequestConnControl()); >> httpproc.addInterceptor(new RequestUserAgent()); >> httpproc.addInterceptor(new RequestExpectContinue()); >> httpproc.addInterceptor(new RequestAddCookies()); // ADD COOKIES TO >> REQUEST >> httpproc.addInterceptor(new ResponseProcessCookies()); // PROCESS >> COOKIES FROM RESPONSE >> >> NHttpRequestExecutionHandler execHandler = new >> NHttpRequestExecutionHandler(endpointUri, _cookies); >> ThrottlingHttpClientHandler handler = new >> ThrottlingHttpClientHandler( >> httpproc, //HOOK PROCESSOR TO HANDLER >> execHandler, >> new DefaultConnectionReuseStrategy(), >> executor, >> params); >> >> To my distaste I discovered that ReequestAddCookies and >> ResponseProcessCookies are coded agsinst the blocking HTTP API and >> RequestAddCookies crashes with a ClassCastExceptions when it tries >> retrieve >> a ManagedClientConnection from the HttpContext (and we have an >> NHttpClientConnection there instead). The connection seems to be needed >> for >> some trivial stuff: the remote port, and a http/https test. >> >> My questions are: >> >> 1) Is there a ready-made way to do cookies with the asynchronous HTTP >> client? >> > > No, currently there is not > > > > Is there an async HTTP client library for example - couldn't find > >> one. >> > > There is one, which is still in a very early stage of development > > http://svn.apache.org/repos/asf/httpcomponents/asynchttpclient/trunk/ > > > > 2) If I copy/paste RequestAddCookies and ResponseProcessCookies into my >> classes and fix the trivial problems will I get a significatn performance >> hit? >> >> > No, you will not. Just use low level cookie management code from HttpClient > on top of HttpCore NIO and you will be just fine > > Oleg > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [email protected] > For additional commands, e-mail: [email protected] > > -- Go on! Destroy the fabric of the universe! See if I care!
