You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Otto Fowler (Jira)" <ji...@apache.org> on 2020/05/01 21:43:00 UTC

[jira] [Updated] (NIFI-7420) HandleHttpRequest puts form data content into attributes

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

Otto Fowler updated NIFI-7420:
------------------------------
    Description: 
HandleHttpParameters writes attributes for get return from HttpServletRequest.getParameters().

getParameters() is defined as returning a value for each query part OR form data value.
As such, large bits of data, send as part of multipart/form data will end up in the attributes, which is not what we want, and that data is recorded elsewhere.  If the filename is set on the form data, it will NOT be in the list.  But the file name is optional, so each parameter _could_ have large amounts of data.

The processor also does not document writing this attribute.

The processor should NOT write parameter values for parameters that are part of the form data if possible.

an example from log attributes:


{noformat}
Key: 'http.multipart.content.type'
	Value: 'text/plain'
Key: 'http.multipart.fragments.sequence.number'
	Value: '1'
Key: 'http.multipart.fragments.total.number'
	Value: '3'
Key: 'http.multipart.name'
	Value: 'upload-data'
Key: 'http.multipart.size'
	Value: '18'
Key: 'http.param.DataTwo'
	Value: 'DATA TWO!!!!'
Key: 'http.param.data1'
	Value: 'DATA ONE!!!'
Key: 'http.param.upload-data'
	Value: 'Flowfile content!!'

{noformat}


  was:
HandleHttpParameters writes attributes for get return from HttpServletRequest.getParameters().

getParameters() is defined as returning a value for each query part OR form data value.
As such, large bits of data, send as part of multipart/form data will end up in the attributes, which is not what we want.

The processor also does not document writing this attribute.

The processor should NOT write parameter values for parameters that are part of the form data if possible.

an example from log attributes:


{noformat}
Key: 'http.multipart.content.type'
	Value: 'text/plain'
Key: 'http.multipart.fragments.sequence.number'
	Value: '1'
Key: 'http.multipart.fragments.total.number'
	Value: '3'
Key: 'http.multipart.name'
	Value: 'upload-data'
Key: 'http.multipart.size'
	Value: '18'
Key: 'http.param.DataTwo'
	Value: 'DATA TWO!!!!'
Key: 'http.param.data1'
	Value: 'DATA ONE!!!'
Key: 'http.param.upload-data'
	Value: 'Flowfile content!!'

{noformat}



> HandleHttpRequest puts form data content into attributes
> --------------------------------------------------------
>
>                 Key: NIFI-7420
>                 URL: https://issues.apache.org/jira/browse/NIFI-7420
>             Project: Apache NiFi
>          Issue Type: Bug
>            Reporter: Otto Fowler
>            Assignee: Otto Fowler
>            Priority: Major
>
> HandleHttpParameters writes attributes for get return from HttpServletRequest.getParameters().
> getParameters() is defined as returning a value for each query part OR form data value.
> As such, large bits of data, send as part of multipart/form data will end up in the attributes, which is not what we want, and that data is recorded elsewhere.  If the filename is set on the form data, it will NOT be in the list.  But the file name is optional, so each parameter _could_ have large amounts of data.
> The processor also does not document writing this attribute.
> The processor should NOT write parameter values for parameters that are part of the form data if possible.
> an example from log attributes:
> {noformat}
> Key: 'http.multipart.content.type'
> 	Value: 'text/plain'
> Key: 'http.multipart.fragments.sequence.number'
> 	Value: '1'
> Key: 'http.multipart.fragments.total.number'
> 	Value: '3'
> Key: 'http.multipart.name'
> 	Value: 'upload-data'
> Key: 'http.multipart.size'
> 	Value: '18'
> Key: 'http.param.DataTwo'
> 	Value: 'DATA TWO!!!!'
> Key: 'http.param.data1'
> 	Value: 'DATA ONE!!!'
> Key: 'http.param.upload-data'
> 	Value: 'Flowfile content!!'
> {noformat}



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