--- 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