net/http.lua
changeset 13324 23f95714c386
parent 13323 6d6291dfe735
--- 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