]> git.ipfire.org Git - thirdparty/rspamd.git/commit
[Feature] Add content negotiation for /stat endpoint and zstd compression
authorVsevolod Stakhov <vsevolod@rspamd.com>
Sun, 11 Jan 2026 20:08:49 +0000 (20:08 +0000)
committerVsevolod Stakhov <vsevolod@rspamd.com>
Sun, 11 Jan 2026 20:13:41 +0000 (20:13 +0000)
commit0ead58ac7b28977f70d99565d12e08ee4731e0c8
tree1bdb48addefcb9b05c718f0649a19c0541e42fad
parentec5affde2fae0b3f108538de83774066a4465b88
[Feature] Add content negotiation for /stat endpoint and zstd compression

- Update /stat handler to use rspamd_controller_send_ucl_negotiated
  for Accept header content-type negotiation (JSON/msgpack)
- Add zstd compression support to rspamd_controller_maybe_compress,
  preferred over gzip when client supports it
- Add functional robot tests for content negotiation covering:
  - OpenMetrics/text/plain Accept headers for /metrics
  - JSON/msgpack Accept headers for /stat
  - gzip/zstd Accept-Encoding compression
  - Quality factor parsing
src/controller.c
src/libserver/http/http_router.c
src/libserver/worker_util.c
test/functional/cases/001_merged/420_content_negotiation.robot [new file with mode: 0644]
test/functional/lib/rspamd.py