6#ifndef __CWIST_COMPRESS_H__
7#define __CWIST_COMPRESS_H__
39 int (*
compress)(
void *state,
const char *in,
size_t in_len,
char *out,
size_t *out_len,
49 int (*
finish)(
void *state,
char *out,
size_t *out_len);
const cwist_compress_backend * cwist_compress_backend_zstd(void)
Returns the built-in Zstandard (zstd) backend.
const cwist_compress_backend * cwist_compress_backend_deflate(void)
Returns the built-in zlib/deflate backend.
void cwist_compress_register_backend(const cwist_compress_backend *backend)
Register a compression backend.
const cwist_compress_backend * cwist_compress_backend_brotli(void)
Returns the built-in Brotli backend.
cwist_middleware_func cwist_mw_compress(size_t min_body_size)
Compression middleware factory.
void cwist_compress_unregister_all(void)
Unregister all compression backends.
const cwist_compress_backend * cwist_compress_backend_gzip(void)
Returns the built-in zlib/gzip backend.
Compression backend vtable.
const char * encoding_name
int(* init)(void **state)
Initialize compressor state.
int(* compress)(void *state, const char *in, size_t in_len, char *out, size_t *out_len, int flush)
Compress one chunk.
int(* finish)(void *state, char *out, size_t *out_len)
Finish compression and write any trailing bytes.
void(* cleanup)(void *state)
Clean up compressor state.
Core Application Structure and Lifecycle Management.
void(* cwist_middleware_func)(cwist_http_request *req, cwist_http_response *res, cwist_handler_func next)
Middleware type that receives req/res pair and the next stage in the chain.