Open poutsma opened 1 year ago
In case when WebFlux is used as client to connect 3rd party applications that might be useful to have such feature.
For example if application need to connect 3rd party API using xAPI documentation where in some cases it should use strictly multipart/mixed
media type - xAPI documentation reference about multipart/mixed
Any idea when this will be implemented? Otherwise ideas on how to overcome it until multipart/related gets implemented in Spring?
Besides
multipart/form-data
, there are two other multipart media types in use:multipart/mixed
, as defined in RFC 1341, and used in OData Batch Processingmultipart/related
, as defined in RFC 2387, and used in Google Cloud Multipart Upload.These have different properties than
multipart/form-data
, for instance in that they do not require aContent-Dispostion
header for each part.Furthermore, it seems that OData relies on nested
multipart/mixed
structures, where the outer batch part can contain a changeset that is in itself a multipart consisting of changes.Not having done a full investigation, it appears that there are a number of issues with our current WebFlux multipart support that prevents us from fully supporting
multipart/mixed
andmultipart/related
:DefaultPartHttpMessageReader
is not capable of reading nested multipart messages.MultipartHttpMessageWriter
andPartEventHttpMessageWriter
are not capable of writing nested multipart messages, except in a raw form.Part
andPartEvent
interfaces expose aname
property that reflects theContent-Disposition
name, but which only makes sense inmultipart/form-data
.MultipartHttpMessageWriter
andPartEventHttpMessageWriter
write aContent-Disposition
header, which it only needed inmultipart/form-data
.This issue was created to gather all research done on
multipart/mixed
andmultipart/related
done so far, and to see how much interest there is in the community for Spring Framework to fully support these multipart types.