From 95ebaee99ad02edf2aa670a721d2ea70025b6ad3 Mon Sep 17 00:00:00 2001 From: Calascibetta Romain Date: Mon, 17 Feb 2025 18:29:09 +0100 Subject: [PATCH] Fix vif on firefox --- examples/09-jwt/main.ml | 2 +- lib/vif/vif_response.ml | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/examples/09-jwt/main.ml b/examples/09-jwt/main.ml index 61f5fbf..0ca2feb 100644 --- a/examples/09-jwt/main.ml +++ b/examples/09-jwt/main.ml @@ -75,7 +75,7 @@ let default req target server _cfg = | None -> let field = "content-type" in let* () = Response.add ~field "text/plain; charset=utf-8" in - let* () = Response.with_string req "Unauthorized place" in + let* () = Response.with_string req "Unauthorized place\n" in Response.respond `Unauthorized | Some { username } -> let field = "content-type" in diff --git a/lib/vif/vif_response.ml b/lib/vif/vif_response.ml index bb51c40..a997e7c 100644 --- a/lib/vif/vif_response.ml +++ b/lib/vif/vif_response.ml @@ -161,7 +161,10 @@ let run : type a p q. Vif_request0.t -> p state -> (p, q, a) t -> q state * a = headers := (k, v) :: Vif_headers.rem !headers k; (state, ()) | Empty, Stream stream -> (Filled stream, ()) - | Empty, String str -> (Filled (Stream.Stream.singleton str), ()) + | Empty, String str -> + if Vif_request0.version req = 1 + then headers := Vif_headers.add_unless_exists !headers "connection" "close"; + (Filled (Stream.Stream.singleton str), ()) | Filled stream, Respond status -> let headers = !headers in let headers, stream =