Hi, been stuck with this for a while now and for the life of me i cant seem to figure it out.
we have a flow file that has a set of headers that needs to be attached to the invokehttp processor. we dont know what those headers might be beforehand so cant do the + add property thing.
the headers are attributes on the flow file with a "headers." prefix (this can be changed)
the flow of the entire workflow is
- json content with object of headers to set
- HandleHTTPRequest to start the nifi flow
- some stuff
- script to take the $.item.headers and turn it into attributes with a prefix "headers."
- InvokeHTTP
the initial json looks a bit like this
{
"method": "POST",
"item": {
"id": 100,
"headers": {
"Content-Length": "520",
"Content-Type": "multipart/form-data; boundary=--------------------------989211997649303340983260",
"Connection": "keep-alive",
"Accept-Encoding": "gzip, deflate, br",
"Accept": "*/*",
"User-Agent": "PostmanRuntime/7.29.2",
},
"status": "PENDING"
},
}
. (please note that we dont know what the headers might be. they could include a bunch more)
the invokehttp needs to include all these headers
each of the headers is added as an attribute by the flow
on the InvokeHTTP processor
what ive tried for "Attributes to send":
- headers
- headers.
- headers.*
- (?<=headers.).*
(the last 1 is since its regex
- is there a way to add headers to the flow file before it gets to the InvokeHTTP (like say a ExecuteScript)
- is there a way to do " headers.* " to the "attributes to send" (headers.X-INSTANCE, headers.Content-Type, headers.SomethingElse)
- is there a way to have a single "headers" attribute with json (so naturally a string of json cause nifi) merge with the invokehttp headers and replace those that exist
on the nifi 1.11.4 (for now)