When a POST arrives to an endpoint:

ie:
curl -d "x=1&y=2 http://localhost/foobar

The IN body is removed and the form params are moved to the message header. 
How can I disable this feature?  When this happens, I cannot "proxy" through
to another http endpoint that expects a POST of type
application/x-www-form-urlencoded unless I recreate the body myself. 
(However, even still, recreating the body would be difficult because it's
hard to determine which headers where actually form params in the original
POST body and which were not because they aren't distinguished from the
other headers in any way).

This "feature" seems to be described 
https://issues.apache.org/activemq/browse/CAMEL-1806 here .  Perhaps I am
missing something, but is this feature really a good idea?  When the request
is mangled in this way, I cannot pass this message through to another
service (proxy) because the body of the message is gone.  I can perhaps see
pushing the form params into the headers while leaving the body intact, but
what is the rationale for removing the body?  

If this feature was removed, one could always write a filter to convert POST
bodies to headers for type application/x-www-form-urlencoded.  However, with
this feature implemented the way it is, it makes proxying POSTs of type
application/x-www-form-urlencoded practically impossible.  Am I missing
something?

Thanks for your help.

(I am using Camel 2.2.0).
-- 
View this message in context: 
http://old.nabble.com/jetty%3Ahttp-component-%22mangles%22-x-www-form-urlencoded-POST-in-message%3A-tp28348176p28348176.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to