34namespace compression {
40enum class Encoding { None, Gzip, Brotli, Other };
43Encoding fromToken(
const std::string &contentEncoding);
47const char *toToken(Encoding enc);
53Encoding negotiate(
const std::string &acceptEncoding);
61bool accepts(
const std::string &acceptEncoding, Encoding enc);
66bool isCompressible(
const std::string &contentType);
68bool gzipCompress(
const std::vector<char> &in, std::vector<char> &out,
int level = 6);
69bool gzipDecompress(
const std::vector<char> &in, std::vector<char> &out);
71bool brotliCompress(
const std::vector<char> &in, std::vector<char> &out,
int quality = 5);
72bool brotliDecompress(
const std::vector<char> &in, std::vector<char> &out);