You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Andy LoPresto (Jira)" <ji...@apache.org> on 2020/01/22 22:04:01 UTC

[jira] [Created] (NIFI-7062) Implement native multipart/form-data handling

Andy LoPresto created NIFI-7062:
-----------------------------------

             Summary: Implement native multipart/form-data handling
                 Key: NIFI-7062
                 URL: https://issues.apache.org/jira/browse/NIFI-7062
             Project: Apache NiFi
          Issue Type: New Feature
          Components: Extensions
    Affects Versions: 1.10.0
            Reporter: Andy LoPresto


Multiple users have expressed difficultly configuring the {{InvokeHTTP}} processor to send {{multipart/form-data}} content to remote APIs. 

While it is possible using a combination of {{ReplaceText}} processor to build the content boundaries and a custom header via a dynamic property in {{InvokeHTTP}}, this is not an ideal experience. 

Rather, this could be implemented by:
# a native boolean property on {{InvokeHTTP}} which selects "multipart/form-data" (default *false*)
# a multiple value property which has options *application/x-www-form-urlencoded* (default), *multipart/form-data*, and *text/plain*
# a new processor which handles incoming flowfiles and modifies the content and attributes to be prepared for this transmission -- this could be implemented for a single piece of content per flowfile or using the Record mechanism

Notes:
* Implementing the properties directly on the {{InvokeHTTP}} processor eliminates the need for an additional processor to prepare the data and does not prevent continuing operation of the same flowfile downstream in a linear flow. However, it does change the current scenario where "flowfile content is _exactly_ what is sent" because it would "invisibly" wrap the content in the boundary markers. This could be remediated with a custom content viewer or custom UI

References:

* https://stackoverflow.com/a/4526286/70465
* https://dev.to/sidthesloth92/understanding-html-form-encoding-url-encoded-and-multipart-forms-3lpa
* https://developer.mozilla.org/en-US/docs/Web/HTTP/Methods/POST
* https://tools.ietf.org/html/rfc2388
* https://community.cloudera.com/t5/Support-Questions/How-to-send-an-http-POST-multipart-form-data-request-with-a/td-p/240035
* 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)