On Wed, 2011-02-02 at 12:16 -0500, John Kiffmeyer wrote:
> Hi all,
> I'm working with an application that requires requests to be chunked a 
> certain way.  More or less, the body contains an application request and 
> some data associated with it.  If chunked normally, the first chunk 
> contains the application request and the beginning of the data.  If the 
> first chunk is this large, however, the server refuses to parse the 
> application request.  I want to force a chunk boundary at the end of the 
> application request/beginning of the data.
> 
> I (understandably) don't see a way to do this in the api.  Is it feasible 
> to accomplish this by subclassing some stuff?  I've traced through 
> httpclient and httpcore code but it's not obvious to me yet what I need to 
> extend/override (EntitySerializer looks promising, but I'm not clear on 
> where I need to shoehorn a subclass of that into the path after 
> HttpClient.execute()).  So, I'm looking for some wisdom.
> 
> Thanks!
> jk

John

While it is not going to be pretty it is certainly doable.  

Assuming you intend to use blocking I/O model

(1) Create a custom version of the ChunkedOutputStream. Most likely will
need to copy the entire class and tweak it quite a bit to make it work
the way you want

(2) Subclass EntitySerializer and make it use your custom
ChunkedOutputStream when serializing chunked entities or a specific type
of entities.

(2) If you intend to use HttpCore only, subclass
DefaultHttpClientConnection and make it use your custom
EntitySerializer. If you would like to use HttpClient with all bells and
whistles, follow these instructions of the HttpClient tutorial:

http://hc.apache.org/httpcomponents-client-ga/tutorial/html/advanced.html#d4e1333

Hope this helps

Oleg 



---------------------------------------------------------------------
To unsubscribe, e-mail: httpclient-users-unsubscr...@hc.apache.org
For additional commands, e-mail: httpclient-users-h...@hc.apache.org

Reply via email to