# HG changeset patch # User Kim Alvefur # Date 1699742925 -3600 # Node ID 23f95714c3862397b12f32f912a3df60d95b7a6f # Parent 6d6291dfe735119acf7f2c220785ed0ea2e60fe6 net.http: Set Connection header based on connection pool usage Connection: keep-alive is implicit in HTTP/1.1 but explicit > implicit diff -r 6d6291dfe735 -r 23f95714c386 net/http.lua --- a/net/http.lua Sat Nov 11 23:08:34 2023 +0100 +++ b/net/http.lua Sat Nov 11 23:48:45 2023 +0100 @@ -115,7 +115,8 @@ request.callback(r.body, r.code, r, request); request.callback = nil; end - destroy_request(request); + local persistent = (","..(r.headers.connection or "keep-alive")..","):find(",keep-alive,") + destroy_request(request, persistent); end local function options_cb() return request; @@ -269,6 +270,12 @@ ["User-Agent"] = "Prosody XMPP Server"; }; + if self.pool then + headers["Connection"] = "keep-alive"; + else + headers["Connection"] = "close"; + end + if req.userinfo then headers["Authorization"] = "Basic "..b64(req.userinfo); end