Open
Description
I couldn't find anywhere documenting a desire or otherwise a lack of desire for multipart/form-data
support.
I have a very basic streaming multipart client API in multipart-async
now: https://github.com/abonander/multipart-async/tree/master/src/client
It's not quite production ready yet though. I want to add several more tests. It's also built against tokio-io
instead of futures-io
. Whoops.
Metadata
Metadata
Assignees
Labels
Type
Projects
Milestone
Relationships
Development
No branches or pull requests
Activity
yoshuawuyts commentedon Oct 2, 2019
@abonander yeah, having this would be great! -- I considered implementing it before the initial release, but this is somewhat tricky and we'd need to come up with a good design first. Would you like to work on bringing this into Tide?
abonander commentedon Oct 3, 2019
@yoshuawuyts Tide or Surf? I also have a server API that's just about ready for use which would close http-rs/tide#89. I mostly just want to do a bunch more testing to really be confident in it but it's already better tested than
multipart
ever was since I have the benefit of hindsight.I think the client API design is comparatively straightforward, though. The main question is whether it should be lazy (pass a list of fields and the client processes them in a single call at the end) or eager (actively write each field to the transport). We have a much better error handling story in Rust now than when I developed the original
multipart
client API (which the lazy API was meant to paper over so every call didn't need to be wrapped intry!()
) so I think just an eager API might be fine.futures::io
abonander/multipart-async#17futurist commentedon Oct 30, 2020
What's the plan of this feature? It's an important feature I think (or maybe bug?)
Fishrock123 commentedon Oct 30, 2020
See http-rs/http-types#175 - likely to picked back up soon over there, unsure how or when that will impact a full surf api for this.
Fishrock123 commentedon Jul 30, 2021
I don't have any investment in this anymore. Someone else will need to pick it up.