[
https://issues.apache.org/activemq/browse/CAMEL-1760?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Willem Jiang reassigned CAMEL-1760:
-----------------------------------
Assignee: Willem Jiang
> Unable to read post params from request
> ---------------------------------------
>
> Key: CAMEL-1760
> URL: https://issues.apache.org/activemq/browse/CAMEL-1760
> Project: Apache Camel
> Issue Type: Bug
> Components: camel-jetty
> Affects Versions: 1.6.0
> Reporter: Andres
> Assignee: Willem Jiang
>
> If consuming messsages from jetty endpoint there is no way to read *post*
> parameters from HttpServletRequest.
> In example getting HttpServletRequest from body :
> HttpServletRequest req = exchange.getIn().getBody(HttpServletRequest.class);
> req.getParameterMap() returns allways empty map
> The problem is that jetty Request.extractParameters() method is trying to
> read post parameters from Request.getInputStream(). But unfortunately
> someone strips the input stream before and req.getInputStream() returns
> allways 0 bytes
> The workaround for me is to extend DefaultHttpBinding as described in:
> http://camel.apache.org/jetty.html
> {code:title= MyHttpBinding .java|borderStyle=solid}
> public class MyHttpBinding extends DefaultHttpBinding {
>
> public void readRequest(HttpServletRequest request, HttpMessage message) {
> request.getParameterMap();
> super.readRequest(request,message);
> }
> }
> {code}
> calling request.getParameterMap() will cache parameters inside jetty
> Request and it's possible to query params later, without having inputStream
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.