From e1578346eec8f68c75a930ae4efc52e70e859adc Mon Sep 17 00:00:00 2001 From: Wilfried Goesgens Date: Sun, 18 Jan 2015 20:12:40 +0100 Subject: [PATCH] Don't send an extra chunk for the gzip header. --- webcit/tcp_sockets.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/webcit/tcp_sockets.c b/webcit/tcp_sockets.c index 33889f665..19fb7a258 100644 --- a/webcit/tcp_sockets.c +++ b/webcit/tcp_sockets.c @@ -556,6 +556,7 @@ void serv_read_binary_to_http(StrBuf *MimeType, size_t total_len, int is_static, int client_con_state = 0; int chunked = 0; int is_gzip = 0; + int is_gzip_header = 1; StrBuf *BufHeader = NULL; StrBuf *Buf; StrBuf *pBuf = NULL; @@ -623,6 +624,7 @@ void serv_read_binary_to_http(StrBuf *MimeType, size_t total_len, int is_static, } else { + is_gzip_header = 0; pBuf = WCC->WBuf; } @@ -687,6 +689,11 @@ void serv_read_binary_to_http(StrBuf *MimeType, size_t total_len, int is_static, rc = StrBufStreamTranscode(eZLibEncode, &WriteBuffer, &ReadBuffer, NULL, -1, SC, done); if (StrLength (pBuf) > 0) { + if (!done && is_gzip_header && (StrLength(pBuf) == 10)) { + /* we don't want to send the gzip header as single package... */ + break; + } + is_gzip_header = 0; StrBufPrintf(BufHeader, "%s%x\r\n", (first)?"":"\r\n", StrLength (pBuf)); -- 2.30.2