This change enables the use of gzip and deflate compression "transparently" for all HTTP requests. It does so using Express's official compression library. Linear task: ENG-5018
- iOS: iOS supports deflate but not Brotli, so this is the best thing we can do outside of the application layer.
- Android: Android only supports gzip, so this is the best thing we can do outside of the application layer.
- Web: Pretty much all modern browsers support Brotli now. I explored alternatives to compression that support Brotli here, but didn't find any that I felt great about.
I also considered implementing this on the application layer like I did for the socket. I ended up deciding against this given how much easier this approach was. More details here.