Uploaded image for project: 'Camel'
  1. Camel
  2. CAMEL-17118

mapHttpMessageFormUrlEncodedBody does not work - it will always map the POST parameters to headers

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Minor
    • Resolution: Fixed
    • 2.20.4
    • 3.14.1, 3.15.0
    • camel-servlet
    • None
    • Novice

    Description

      Hi team,

       

      Issue

      The parameter mapHttpMessageFormUrlEncodedBody  is not useful

       

      Root Issue

      If you have a request with a POST parameter having a CR/LF in one of its values, it will be mapped to an HTTP Header, causing an Exception. CR/LF are not allowed header characters in HTTP protocol nor camel

       

      Analysis

      I think where the problem is.

      Class:  org.apache.camel.http.common.DefaultHttpBindingComponent.java

      Line: https://github.com/apache/camel/blob/005765443f3161182b78c999b9f8b43052768800/components/camel-http-common/src/main/java/org/apache/camel/http/common/DefaultHttpBinding.java#L183

       

      Explanation:  The POST/GET parameters are always added as Headers in camel

      There is no any flag that can avoid that mapping.

       

      Proposed solution

      Use the mapHttpMessageFormUrlEncodedBody to control where the GET/POST parameters should be mapped to headers

       

      Kind regards

       

       

      Kind regards

       

       

      Attachments

        Activity

          People

            davsclaus Claus Ibsen
            andresoviedo Andres Oviedo
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: