Changeset 1553

Show
Ignore:
Timestamp:
01/30/2007 12:41:46 PM (21 months ago)
Author:
jan
Message:

if a module sets Content-Length: itself we would append our own header a
second time creating a duplicate header

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • trunk/src/response.c

    r1528 r1553  
    4646 
    4747        if (con->response.transfer_encoding & HTTP_TRANSFER_ENCODING_CHUNKED) { 
    48                 BUFFER_APPEND_STRING_CONST(b, "\r\nTransfer-Encoding: chunked"); 
     48                response_header_overwrite(srv, con, CONST_STR_LEN("Transfer-Encoding"), CONST_STR_LEN("chunked")); 
    4949                allow_keep_alive = 1; 
    5050        } else if (con->response.content_length >= 0) { 
    51                 BUFFER_APPEND_STRING_CONST(b, "\r\nContent-Length: "); 
    52                 buffer_append_off_t(b, con->response.content_length); 
     51                buffer_copy_off_t(srv->tmp_buf, con->response.content_length); 
     52                response_header_overwrite(srv, con, CONST_STR_LEN("Content-Length"), srv->tmp_buf->ptr, srv->tmp_buf->used - 1); 
     53 
    5354                allow_keep_alive = 1; 
    5455        } 
     
    5859 
    5960        if (con->request.http_version != HTTP_VERSION_1_1 || con->keep_alive == 0) { 
    60                 BUFFER_APPEND_STRING_CONST(b, "\r\nConnection: "); 
    61                 buffer_append_string(b, con->keep_alive ? "keep-alive" : "close"); 
     61                if (con->keep_alive) { 
     62                        response_header_overwrite(srv, con, CONST_STR_LEN("Connection"), CONST_STR_LEN("keep-alive")); 
     63                } else { 
     64                        response_header_overwrite(srv, con, CONST_STR_LEN("Connection"), CONST_STR_LEN("close")); 
     65                } 
    6266        } 
    6367