> You can gzip the entire Multipart response, but you cannot pick and choose compression for particular parts.

Sure you can. I designed a system where the client uploads a multipart-form that's three parts, the first part is JSON ("meta") and the next two parts are gzipped blobs ("raw.gz" and "log.gz"). The server reads the first part which is metadata that tells it how to handle the next two parts.

I happen to be using Falcon and streaming-form-data on the server side.

https://falcon.readthedocs.io/en/stable/

https://streaming-form-data.readthedocs.io/

> I happen to be using Falcon

heh I'm always annoyed by this unfortunate name clash:

https://github.com/socketry/falcon