🏞 Parses and serializes multipart-encoded data with Codable support.
Add support for encoding and decoding UUID
s (#64)
Add encoding and decoding support for nested objects (#57)
In order to avoid overflows by malicious actors there is a maximum nesting depth associated with FormDataDecoder
. It defaults to 8
but is configurable in the initializer like so: FormDataEncoder(nestingDepth: 8)
.
This update also deprecates MultipartError
.
Fix the bug that MultipartParser
cannot decode headers that contains non-ASCII characters correctly.
Use more efficient parsing of multipart bodies to improve performance to near the level of the old C parser (~8% slower). Resolves #58 and replaces #59. Thanks to @edwellbrook for the initial test case and @weissi for help on parser performance 🙏🏻
Rewrites parser in Swift and removes dependency on C library.
This also fixes an existing parsing bug where a nested multipart body would see its boundaries stripped of the "\r\n--" prefix. (replaces #56)
With this release, MultipartKit is again extracted from Vapor itself so it can be used independently.
Docs: https://docs.vapor.codes/4.0/content/ https://api.vapor.codes/multipart-kit/master/MultipartKit/
Fix a crash in FormDataDecoderContext when the offset doesn't exist when parsing multipart form data ( vapor/vapor#2548 )
Adds iOS 10.0
to availability check for using ISO8601DateFormatter
(#48).
Fixes an issue in MultipartParser causing byte counting to be off-by-one (#45, #44).