Encoding primitives for Dream.
The most common usage is to add the Dream_encoding.compress
middleware to your Dream application:
let () =
Dream.run ~debug:true
@@ Dream.logger
@@ Dream_encoding.compress
@@ Dream.router [ Dream.get "/" (fun _ -> Dream.html "Hello World!") ]
@@ Dream.not_found
The middleware will parse the Accept-Encoding
header from the requests and compress the responses accordingly.
The library API also includes other lower-level functions for convenience, and are documented here.
As of now, the only supported encoding directives are gzip
and deflate
.
Support for more compression methods will come when they are supported in decompress
, the underlying compression library used in dream-encoding
.
- Support Brotli compression (see mirage/decompress#101)