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
Priority: Trivial
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.