From 0f9a82bd0ecf7530f294464c361a1381d3f5aaf5 Mon Sep 17 00:00:00 2001 From: Jan Kneschke Date: Tue, 6 Sep 2005 10:07:36 +0000 Subject: [PATCH] only enable fastcgi if necessary git-svn-id: svn://svn.lighttpd.net/lighttpd/branches/lighttpd-merge-1.4.x@690 152afb58-edef-0310-8abb-c4023f1b3aa9 --- src/mod_fastcgi.c | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/src/mod_fastcgi.c b/src/mod_fastcgi.c index cc930d7c..85faa25b 100644 --- a/src/mod_fastcgi.c +++ b/src/mod_fastcgi.c @@ -2135,15 +2135,16 @@ static int fcgi_demux_response(server *srv, handler_ctx *hctx) { if (host->mode != FCGI_AUTHORIZER || !(con->http_status == 0 || con->http_status == 200)) { - /* enable chunked-transfer-encoding */ - if (con->request.http_version == HTTP_VERSION_1_1 && - !(con->parsed_response & HTTP_CONTENT_LENGTH)) { - con->response.transfer_encoding = HTTP_TRANSFER_ENCODING_CHUNKED; - } - + con->file_started = 1; if (blen) { + /* enable chunked-transfer-encoding */ + if (con->request.http_version == HTTP_VERSION_1_1 && + !(con->parsed_response & HTTP_CONTENT_LENGTH)) { + con->response.transfer_encoding = HTTP_TRANSFER_ENCODING_CHUNKED; + } + http_chunk_append_mem(srv, con, c, blen + 1); joblist_append(srv, con); #if 0 @@ -2159,6 +2160,12 @@ static int fcgi_demux_response(server *srv, handler_ctx *hctx) { if (host->mode != FCGI_AUTHORIZER || !(con->http_status == 0 || con->http_status == 200)) { + /* enable chunked-transfer-encoding */ + if (con->request.http_version == HTTP_VERSION_1_1 && + !(con->parsed_response & HTTP_CONTENT_LENGTH)) { + con->response.transfer_encoding = HTTP_TRANSFER_ENCODING_CHUNKED; + } + http_chunk_append_mem(srv, con, hctx->response->ptr, hctx->response->used); joblist_append(srv, con); }