2021.2

Table Of Contents
The request can contain one or more files, one being an XML file containing the request
information as well as any GET, POST, PUT or DELETE variables that were received within
this request. Other files are POST or PUT attachments.
The NodeJS Server Input task supports basic content-types: multipart/form-data, application/x-
www-urlencoded, and application/octet-stream, as well as raw body content-types:
l text/plain (.txt)
l application/xml, text/xml (.xml)
l text/html (.html)
l application/xhtml+xml (.xhtml)
l text/css (.css)
l text/csv (.csv)
l application/json (.json)
l application/javascript (.js)
Note that the maximum number of multipart form data fields is 1000 by default.
Processing
Depending on the options chosen in the NodeJS Server Input task properties, the task may
choose to ignore some of the files. For example, using the "Do not include XML envelope"
means that only the POST attachments will be used in the process; the XML file will be
discarded. Attachments are always saved on disk in a specific location, which is accessible
either directly in the XML or directly as a data file through the "Loop each attachment as data
file" option.
How arrays in input data are interpreted
When the names of Form inputs in an incoming POST request contain two pairs of square
brackets: [..][..], the data are interpreted as an array. The value between the first pair of square
brackets is expected to consist of two parts, separated by an underscore (e.g. row_0). The first
part is considered to be the element's name. All content after the first underscore (preferably an
integer) will be used as index, which is given as an attribute of the element (e.g. <row _idx=0>).
This makes it easy to select all elements on the same level in a data mapping configuration,
and to convert the XML to a JSON object.
For an example see "Incoming HTML" on page795 and "Resulting XML structure with
Enhanced PHP-like arrays" on page796.
Page 355