multipart icon indicating copy to clipboard operation
multipart copied to clipboard

Adding Gzip content encoding support

Open another-salad opened this issue 3 years ago • 6 comments

This PR adds support for Gzip encoded field data.

Happy to discuss better ways of implementing something like this (which there likely is).

Apologies if I haven't followed any processes, etc before raising this PR.

another-salad avatar Sep 05 '22 19:09 another-salad

Is there any real-world client that actually compresses from data?

defnull avatar Sep 05 '22 19:09 defnull

Not sure if this should be handled by a multipart parser. Content encoding can be handled transparently by an upper layer, e.g. by a WSGI middleware instead.

defnull avatar Sep 05 '22 19:09 defnull

Its a use case I have come across in a closed source project. However it doesn't appear to be something that is widely used in other real world applications. If its not appropriate to be handled here then that is fine.

another-salad avatar Sep 05 '22 20:09 another-salad

While the HTTP spec allows it, I never came across a client that does it. I'd suggest implementing this as separate WSGI middleware and keep this library focused. This is not a hard no, though. I'll let this open for discussion if that's okay.

defnull avatar Sep 05 '22 20:09 defnull

Ahh wait, you are implementing this for individual parts, not the entire request? I am only realizing that now. That changes the story a bit. It's still a very rare use-case, but now the multipart parser is definitely the right place to handle that. A WSGI middleware layer would not be able to do that. I'll look into it.

defnull avatar Sep 05 '22 20:09 defnull

Ahh wait, you are implementing this for individual parts, not the entire request? I am only realizing that now. That changes the story a bit. It's still a very rare use-case, but now the multipart parser is definitely the right place to handle that. A WSGI middleware layer would not be able to do that. I'll look into it.

Sorry for not being clearer in the PR description. Thanks for looking and the quick responses!

another-salad avatar Sep 05 '22 20:09 another-salad