cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Sergey Beryozkin (JIRA)" <>
Subject [jira] Commented: (CXF-3147) FormParam parsing fails when no content-type is provided
Date Wed, 24 Nov 2010 17:52:14 GMT


Sergey Beryozkin commented on CXF-3147:

I think in the early days I was checking for null because I was lazy specifying the media
type in tests :-), MediaType is guaranteed not to be null by the earlier code - but I've added
the suggested guard nonetheless - thanks

> FormParam parsing fails when no content-type is provided
> --------------------------------------------------------
>                 Key: CXF-3147
>                 URL:
>             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
> 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.

View raw message