From 94c9239d64ac816041ec62d9ee3ee6c947d16681 Mon Sep 17 00:00:00 2001 From: Simon Cruanes Date: Tue, 15 Apr 2025 10:15:05 -0400 Subject: [PATCH] fix(response): do not override "content-length" in raw response close #92 --- src/core/response.ml | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/core/response.ml b/src/core/response.ml index b3f25af4..89c2abbf 100644 --- a/src/core/response.ml +++ b/src/core/response.ml @@ -15,7 +15,11 @@ let set_code code self = { self with code } let make_raw ?(headers = []) ~code body : t = (* add content length to response *) let headers = - Headers.set "Content-Length" (string_of_int (String.length body)) headers + if Headers.contains "content-length" headers then + (* do not override user-provided headers (e.g. in HEAD), see #92 *) + headers + else + Headers.set "Content-Length" (string_of_int (String.length body)) headers in { code; headers; body = `String body }