Skip to content

netty-contrib/codec-multipart

Repository files navigation

Netty-Contrib Multipart

Project description

The Netty 4 Multipart API is complicated, opinionated, and most importantly buggy. It is planned for removal from the core Netty project in Netty 5. This community project contains a new low-level API, and a compatible implementation of the old API.

The Netty 4 version of this repository contains the new API and compatible replacements for the HttpPostRequestDecoder classes that still use the data structures from the main Netty repository. On the Netty 5 branch, with the legacy data structures gone from the main Netty project, there are also copies of those legacy data structures for Netty 5.

multipart-core

io.netty.contrib:netty-codec-multipart-core

This module contains a low-level form data decoding API. Both URL encoded and multipart form data are supported. An encoding API is planned but not implemented yet.

Extensive testing has shown various behavioral differences between the new and old implementations, many of them bugs. Those behavioral differences can be restored by enabling DecoderQuirks for compatibility. Each quirk has a description of what behavior it restores.

multipart-vintage

io.netty.contrib:netty-codec-multipart-vintage

This module contains drop-in replacements of HttpPostRequestDecoder and related classes based on the core module. With all quirks turned on, these replacements are 100% compatible with the old implementation. The constructors enable all quirks by default, while the new Builder disables them by default allows quirk customization.

It is recommended to use the builder and enable no quirks at first, enabling them only if issues arise. If you have legitimate inputs that require quirks to function with the new implementation, please report them.

For Netty 5, this module also contains all the necessary data structures (Attribute, FileUpload, etc.). For Netty 4, this module uses the existing data structures from the main Netty project.

About

New http multipart codec for Netty 5

Resources

License

Security policy

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages