[ 
https://issues.apache.org/jira/browse/NIFI-3469?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Koji Kawamura updated NIFI-3469:
--------------------------------
    Summary: Add multipart request support to HandleHttpRequest Processor  
(was: Add multipart request support to HandleHttpRequest Procesor)

> Add multipart request support to HandleHttpRequest Processor
> ------------------------------------------------------------
>
>                 Key: NIFI-3469
>                 URL: https://issues.apache.org/jira/browse/NIFI-3469
>             Project: Apache NiFi
>          Issue Type: Improvement
>          Components: Extensions
>            Reporter: Koji Kawamura
>
> Currently, HandleHttpRequest outputs a single FlowFile containing all 
> multipart values as following:
> {code}
> --------------------------ef07e8bf36c274d3
> Content-Disposition: form-data; name="p1"
> v1
> --------------------------ef07e8bf36c274d3
> Content-Disposition: form-data; name="p2"
> v2
> --------------------------ef07e8bf36c274d3--
> {code}
> Many users requested adding upload files support to NiFi.
> In order for HandleHttpRequest to support multipart data we need to add 
> followings (this is based on a brief researching and can be more complex or 
> simple):
> We need to use HttpServletRequest#getParts() as written in this stackoverflow 
> thread:
> http://stackoverflow.com/questions/3337056/convenient-way-to-parse-incoming-multipart-form-data-parameters-in-a-servlet
> Also, we probably need a custom MultiPartInputStreamParser implementation. 
> Because Jetty's default implementation writes input data to temporary 
> directory on file system, instead, we'd like NiFi to write those into output 
> FlowFiles content in streaming fashion.
> And we need request size validation checks, threshold for those validation 
> should be passed via javax.servlet.MultipartConfigElement.
> Finally, we have to do something with HandleHttpResponse processor.
> Once HandleHttpRequest processor start splitting incoming request into 
> multiple output FlowFiles, we need to wait for every fragment to be 
> processed, then execute HandleHttpRequest.
> I think Wait/Notify processors (available from next version) will be helpful 
> here.



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

Reply via email to