It would help if there was a node for:
Enhancement to the existing HTTP Request node to support specifying Content-Type for individual parts in multipart/form-data requests.
My use case:
I need to send a multipart/form-data request with both a file and JSON data, where the JSON part requires an explicit Content-Type: application/json header. Currently, the HTTP Request node doesn’t provide a way to set Content-Type for individual form parts.
Current behavior:
When using the HTTP Request node with multipart/form-data, the generated request looks like:
------WebKitFormBoundary…
Content-Disposition: form-data; name=“request”
{“baseTextMatch”:{},“options”:{}}
------WebKitFormBoundary…
Content-Disposition: form-data; name=“image”; filename=“file.jpg”
Content-Type: image/jpeg
[binary data]
Expected behavior:
Some APIs require explicit Content-Type for non-file parts:
------WebKitFormBoundary…
Content-Disposition: form-data; name=“request”
Content-Type: application/json ← This is needed!
{“baseTextMatch”:{},“options”:{}}
------WebKitFormBoundary…
Content-Disposition: form-data; name=“image”; filename=“file.jpg”
Content-Type: image/jpeg
[binary data]
Proposed solution:
Add an optional Content-Type field for each Body Parameter in the HTTP Request node:
Body Parameters:
Parameter 1:
- Name: request
- Value: {“baseTextMatch”:{},“options”:{}}
- Content-Type: application/json ← New optional field
Parameter 2:
- Type: Binary Data
- Name: image
- Input Data Field Name: data
- Content-Type: image/jpeg ← Already inferred, but make it configurable
Current workaround:
I had to use a Code node to manually construct the multipart/form-data body with correct Content-Type headers for each part, which
defeats the purpose of having a user-friendly HTTP Request node.
Real-world example:
This is required when integrating with APIs that strictly validate multipart Content-Type headers, such as:
- Document processing APIs (OCR, PDF conversion)
- File upload APIs that also accept metadata as JSON
- APIs following strict OpenAPI/Swagger specifications
Any resources to support this?
- cURL equivalent (which works):
curl --location 'https://api.example.com/upload' \
--header 'Authorization: Bearer token' \
--form 'metadata="{\"key\":\"value\"}";type=application/json' \
--form 'file=@"/path/to/file.jpg"'
Note the ;type=application/json part in the metadata field.
- Postman supports this via the "Content Type" dropdown for each form-data parameter
- RFC 7578 (Multipart/Form-Data): https://datatracker.ietf.org/doc/html/rfc7578#section-4.4
- Section 4.4 states: "Each part MAY have an (optional) "Content-Type" header field"
Are you willing to work on this?
I’m willing to contribute if guidance is provided on:
- Where in the codebase the HTTP Request node multipart body generation happens
- How to extend the parameter schema to include optional Content-Type field
- Testing requirements for this feature