Gzip compression in Phoenix framework
To compress HTTP response body from a web application powered by Phoenix framework,
you have to make Phoenix.Endpoint pass
compress: true property to Cowboy. In your config.exs:
config :example_app, ExampleApp.Endpoint,
http: [port: 4040, compress: true],
debug_errors: true,
code_reloader: true,
check_origin: false,
watchers: []
When you send a HTTP request, include Accept-Encoding header. if you use the curl command, it has the option --compressed.
Accept-Encoding: gzip, deflate
However it seems that Cowboy, which is the HTTP server used in Phoenix framework, doesn’t compress response body if its size is smaller than 300 bytes.