zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 6513eb4696551a91e322fe2d9879335cd73c92db (tree)
parent 71c228fe6572b9f3b30e82035bf8fd7e2b1dd29d
Author: Nameless <truemedian@gmail.com>
Date:   Thu, 27 Apr 2023 20:25:46 -0500

std.http.Server: use client recommendation for keepalive

Diffstat:
Mlib/std/http/Server.zig | 9++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/lib/std/http/Server.zig b/lib/std/http/Server.zig @@ -439,7 +439,14 @@ pub const Response = struct { } if (!res.headers.contains("connection")) { - try w.writeAll("Connection: keep-alive\r\n"); + const req_connection = res.request.headers.getFirstValue("connection"); + const req_keepalive = req_connection != null and !std.ascii.eqlIgnoreCase("close", req_connection.?); + + if (req_keepalive) { + try w.writeAll("Connection: keep-alive\r\n"); + } else { + try w.writeAll("Connection: close\r\n"); + } } const has_transfer_encoding = res.headers.contains("transfer-encoding");