On Sun, 2011-07-31 at 14:30 +0200, Michel Onoff wrote: > On 2011-07-30 00:12, Oleg Kalnichevski wrote: > > On Fri, 2011-07-29 at 20:10 +0200, Michel Onoff wrote: > >> Hello, > >> > >> consider the following code, which form some reason assumes that > >> requests have enclosing entities > >> > >> // conn is a DefaultHttpServerConnection, for example > >> req1 = (HttpEntityEnclosingRequest) conn.receiveRequestHeader(); > >> conn.receiveRequestEntity(req1); > >> > >> req2 = (HttpEntityEnclosingRequest) conn.receiveRequestHeader(); > >> conn.receiveRequestEntity(req2); > >> > >> Can I later say req1.getRequestLine() or req1.getEntity(), even if in > >> the meantime I got req2 from the same connection? > > > > No, you can't. You cannot obtain the second request object from the > > connection before the request entity of the first one has been fully > > consumed. > > > >> In other words, are requests fully self-contained and totally > >> independent from the connection once both the header and the entity (if > >> existing) have been received? > >> > > > > No, they are not, if content entities are being streamed (not buffered > > in memory). > > > > So if I need to keep requests and responses I have to copy them to > buffered equivalents using BasicHttpEntityEnclosingRequest, > BasicHttpResponse, ByteArrayEntity and friends, right? > > Thanks >
Yes, you do. One thing I do not understand, though. Why don't you simply use two connections if you really need to process two messages concurrently? Oleg --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@hc.apache.org For additional commands, e-mail: dev-h...@hc.apache.org