From dc23bd1b2036bf2feb53ca00a54811f473b2a561 Mon Sep 17 00:00:00 2001 From: Vsevolod Stakhov Date: Mon, 4 Aug 2025 20:46:33 +0100 Subject: [PATCH] [Minor] More cleanups for compression stuff --- src/rspamd_proxy.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/rspamd_proxy.c b/src/rspamd_proxy.c index d38594eff3..be5e162c70 100644 --- a/src/rspamd_proxy.c +++ b/src/rspamd_proxy.c @@ -1335,6 +1335,7 @@ proxy_request_compress(struct rspamd_http_message *msg) ZSTD_freeCCtx(zctx); rspamd_http_message_set_body_from_fstring_steal(msg, body); rspamd_http_message_add_header(msg, COMPRESSION_HEADER, "zstd"); + rspamd_http_message_add_header(msg, CONTENT_ENCODING_HEADER, "zstd"); } } @@ -2146,6 +2147,12 @@ proxy_backend_master_finish_handler(struct rspamd_http_connection *conn, rspamd_http_message_remove_header(msg, "Content-Type"); } + /* Check if client supports compression and compress response if needed */ + const rspamd_ftok_t *accept_encoding = rspamd_http_message_find_header(session->client_message, "Accept-Encoding"); + if (accept_encoding && rspamd_substring_search_caseless(accept_encoding->begin, accept_encoding->len, "zstd", 4) != -1) { + proxy_request_compress(msg); + } + rspamd_http_connection_write_message(session->client_conn, msg, NULL, passed_ct, session, bk_conn->timeout); -- 2.47.3