diff options
| author | Alejandro Colomar <alx@nginx.com> | 2023-08-24 14:09:18 +0200 |
|---|---|---|
| committer | Alejandro Colomar <alx@kernel.org> | 2023-10-25 13:38:42 +0200 |
| commit | d5906fc0a30d51bbd25f0b7026fba977962e6042 (patch) | |
| tree | 9e8227c66645f416833cd6e0269b3f32f1379322 /src/nxt_http_compress_gzip.c | |
| parent | e357f665abad29dfdf94103d0ad82774d2ec3d14 (diff) | |
| download | unit-d5906fc0a30d51bbd25f0b7026fba977962e6042.tar.gz unit-d5906fc0a30d51bbd25f0b7026fba977962e6042.tar.bz2 | |
HTTP: compress: added configurable threshold for Content-Length.
With this, short responses, that is, responses with a body of up to
content_length_threshold bytes, won't be compressed. The default value
is 20, as in NGINX.
Signed-off-by: Alejandro Colomar <alx@nginx.com>
Signed-off-by: Alejandro Colomar <alx@kernel.org>
Diffstat (limited to 'src/nxt_http_compress_gzip.c')
| -rw-r--r-- | src/nxt_http_compress_gzip.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/nxt_http_compress_gzip.c b/src/nxt_http_compress_gzip.c index db675ecf..2d0d65ae 100644 --- a/src/nxt_http_compress_gzip.c +++ b/src/nxt_http_compress_gzip.c @@ -54,18 +54,15 @@ nxt_int_t nxt_http_compress_gzip(nxt_task_t *task, nxt_http_request_t *r, nxt_http_compress_conf_t *conf) { + size_t clen; nxt_int_t ret; nxt_http_compress_gzip_ctx_t *ctx; static nxt_str_t ce = nxt_string("Content-Encoding"); static nxt_str_t gzip = nxt_string("gzip"); - if (r->body_handler == NULL - || r->resp.content_length_n == 0 - || (r->resp.content_length != NULL - && r->resp.content_length->value_length == 1 - && r->resp.content_length->value[0] == '0')) - { + clen = nxt_http_compress_resp_content_length(&r->resp); + if (clen < nxt_max(1u, conf->min_len) || r->body_handler == NULL) { return NXT_OK; } |
