src/server/daemon/protocol.c

changeset 720
8c7d08d3be2e
parent 660
f00d03835dd9
--- a/src/server/daemon/protocol.c	Fri Mar 06 18:50:23 2026 +0100
+++ b/src/server/daemon/protocol.c	Sat Mar 07 15:29:11 2026 +0100
@@ -340,7 +340,7 @@
     if(ctlen && enc) {
         pblock_removekey(pb_key_transfer_encoding, rq->srvhdrs);
     }
-    if(!ctlen) {
+    if(!ctlen && rq->status_num != 101) {
         // set transfer-encoding header
         if(!enc) {
             pblock_kvinsert(
@@ -370,8 +370,10 @@
         cxBufferWrite("Connection: keep-alive\r\n", 1, 24, &writer->buf);
         pblock_kvinsert(pb_key_connection, "keep-alive", 10, rq->srvhdrs);
     } else {
-        cxBufferWrite("Connection: close\r\n", 1, 19, &writer->buf);
-        pblock_kvinsert(pb_key_connection, "close", 5, rq->srvhdrs);
+        if(!pblock_findkeyval(pb_key_connection, rq->srvhdrs)) {
+            cxBufferWrite("Connection: close\r\n", 1, 19, &writer->buf);
+            pblock_kvinsert(pb_key_connection, "close", 5, rq->srvhdrs);
+        }
     }
 
     // response header end

mercurial