You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@struts.apache.org by "Jordi Albert (JIRA)" <ji...@apache.org> on 2009/06/02 11:44:42 UTC

[jira] Commented: (WW-3128) struts2-rest-plugin incorrectly handles multipart/form-data content-type data

    [ https://issues.apache.org/struts/browse/WW-3128?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=46306#action_46306 ] 

Jordi Albert commented on WW-3128:
----------------------------------

struts-rest is unusable as MultipartFormDataHandler is missing. Can you check it please?

> struts2-rest-plugin incorrectly handles multipart/form-data content-type data
> -----------------------------------------------------------------------------
>
>                 Key: WW-3128
>                 URL: https://issues.apache.org/struts/browse/WW-3128
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Plugin - REST
>    Affects Versions: 2.1.6
>            Reporter: Brian Ferris
>            Assignee: Wes Wannemacher
>             Fix For: 2.1.7
>
>         Attachments: struts2-rest-plugin-MultiPartFormDataHandler.patch
>
>
> When a POST request is made with "multipart/form-data" encoding, such as to upload a file, the "DefaultContentTypeHandlerManager" has no custom input handler registered to handle "multipart/form-data" data.  The plugin assumes a default input handler based on the request extension.  In case of "xml" (which is also the default handler failing all else), the handler attempts to parse the payload as xml, which results in an exception being thrown.
> The solution is to write a custom content-type handler similar to the "FormUrlEncodedHandler" that ignores the form payload.  In addition, the "DefaultContentTypeHandlerManager" needs to be modified, since the content-type of the form data is not actually "multipart/form-data", but rather ""multipart/form-data; boundary=abcdefg".  Simple parsing is done to remove the additional parameters of the content-type so that the proper handler can be correctly resolved.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.