Hcs.Plug.Compress
hcs · API reference
Response compression plug.
Compresses response bodies using gzip or zstd based on Accept-Encoding.
type encoding =
| Gzip
| Zstd
| Identityval parse_accept_encoding : Server.request -> encoding listParse Accept-Encoding header into list of supported encodings
val response_body_string : Response.t -> stringval reader_of_body_stream :
(unit -> Cstruct.t option) ->
Bytesrw.Bytes.Reader.tConvert body stream to bytesrw reader
val body_stream_of_reader : Bytesrw.Bytes.Reader.t -> unit -> Cstruct.t optionConvert bytesrw reader to body stream
val gzip_compress : ?level:Bytesrw_zlib.level -> string -> stringCompress string with gzip
exception Decompressed_body_too_largeval reader_to_string_limited :
max_output_size:int ->
Bytesrw.Bytes.Reader.t ->
stringval gzip_decompress : string -> stringDecompress gzip string
val gzip_decompress_limited : max_output_size:int -> string -> stringval zstd_compress : ?level:Bytesrw_zstd.Cctx_params.clevel -> string -> stringCompress string with zstd
val zstd_decompress : string -> stringDecompress zstd string
val zstd_decompress_limited : max_output_size:int -> string -> stringval gzip_compress_stream :
?level:Bytesrw_zlib.level ->
(unit -> Cstruct.t option) ->
unit ->
Cstruct.t optionCompress stream with gzip
val gzip_decompress_stream :
(unit -> Cstruct.t option) ->
unit ->
Cstruct.t optionDecompress gzip stream
val zstd_compress_stream :
?level:Bytesrw_zstd.Cctx_params.clevel ->
(unit -> Cstruct.t option) ->
unit ->
Cstruct.t optionCompress stream with zstd
val zstd_decompress_stream :
(unit -> Cstruct.t option) ->
unit ->
Cstruct.t optionDecompress zstd stream
val select_encoding : encoding list -> encoding optionSelect best encoding from accepted list (prefers zstd > gzip)
val accepts_gzip : Server.request -> boolCheck if request accepts gzip
val accepts_zstd : Server.request -> boolCheck if request accepts zstd
val get_content_encoding : Server.request -> encoding optionGet Content-Encoding from request headers
val is_event_stream : Response.t -> boolCreate response compression plug.
Compresses response bodies based on Accept-Encoding header.
parameter min_size Minimum body size to compress (default: 256) parameter level Compression level (default: 6)
val create :
?min_size:int ->
?level:Bytesrw_zlib.level ->
unit ->
(Server.request -> Server.response) ->
Server.request ->
Server.responseval decompress_request :
?max_output_size:int ->
unit ->
(Server.request -> Server.response) ->
Server.request ->
Server.responseCreate request decompression plug.
Decompresses request bodies based on Content-Encoding header.