[
https://issues.apache.org/jira/browse/CXF-3147?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Sergey Beryozkin resolved CXF-3147.
-----------------------------------
Resolution: Fixed
Fix Version/s: 2.4
2.3.1
2.2.12
Assignee: Sergey Beryozkin
> FormParam parsing fails when no content-type is provided
> --------------------------------------------------------
>
> Key: CXF-3147
> URL: https://issues.apache.org/jira/browse/CXF-3147
> Project: CXF
> Issue Type: Bug
> Components: JAX-RS
> Affects Versions: 2.3.0
> Reporter: Dobes Vandermeer
> Assignee: Sergey Beryozkin
> Priority: Trivial
> Fix For: 2.2.12, 2.3.1, 2.4
>
>
> Ran into this writing unit tests - if no Content-Type is provided when doing
> a POST, some code handles a null media type and some doesn't:
> In org.apache.cxf.jaxrs.utils.JAXRSUtils.processFormParam(Message, String,
> Class<?>, Type, String, boolean) it treats a null media type as if it was the
> same as the form media type:
> if (mt == null || mt.isCompatible(MediaType.APPLICATION_FORM_URLENCODED_TYPE))
> However, when reading the body of the form fields, it calls getCharset(mt) to
> get the character set to use when decoding the form fields, which doesn't
> check for null and thus throws an error.
> Either the null media type should fall through and return an error (wrong
> content type) or it should be handled.
> Suggested fix: In org.apache.cxf.jaxrs.utils.FormUtils.getCharset(MediaType),
> add if(mt == null) return "UTF-8"; to the start of the method.
> Easy workaround: only use clients that provide a content type for form field
> POSTs
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.