Changeset 1853

Show
Ignore:
Timestamp:
08/17/08 19:09:51 (3 months ago)
Author:
alo
Message:

--

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • cherokee/trunk/ChangeLog

    r1852 r1853  
    112008-08-17  Alvaro Lopez Ortega  <alvaro@alobbs.com> 
     2 
     3        * cherokee/handler.h, cherokee/connection.c: Slightly improves the 
     4        chunked encoding support. 
    25 
    36        * cherokee/buffer.c (cherokee_buffer_convert_to_chunked): Added 
  • cherokee/trunk/cherokee/connection.c

    r1838 r1853  
    487487                cherokee_buffer_add_buffer (buffer, &CONN_SRV(conn)->timeout_header); 
    488488 
     489        } else if (conn->handler &&  
     490                   HANDLER_SUPPORTS (conn->handler, hsupport_chunked)) { 
     491                cherokee_buffer_add_str (buffer, "Transfer-Encoding: chunked" CRLF); 
     492 
    489493        } else { 
    490494                cherokee_buffer_add_str (buffer, "Connection: close"CRLF); 
     
    573577                } 
    574578                 
    575                 if (HANDLER_SUPPORTS (conn->handler, hsupport_length) == 0) 
     579                 
     580                if ((! HANDLER_SUPPORTS (conn->handler, hsupport_length)) && 
     581                    (! HANDLER_SUPPORTS (conn->handler, hsupport_chunked))) 
     582                { 
    576583                        conn->keepalive = 0; 
     584                } 
    577585        } 
    578586 
  • cherokee/trunk/cherokee/handler.h

    r1433 r1853  
    4949        hsupport_length        = 1,         /* Knows the length. Eg: for keep-alive    */ 
    5050        hsupport_maybe_length  = 1 << 1,    /* It might include content-length         */ 
    51         hsupport_range         = 1 << 2,    /* Can handle "Range: bytes=" requests     */ 
    52         hsupport_error         = 1 << 3,    /* It is an error handler                  */ 
    53         hsupport_full_headers  = 1 << 4,    /* Handler adds the full header stack      */ 
    54         hsupport_skip_headers  = 1 << 5     /* The server shouldn't add any headers    */ 
     51        hsupport_chunked       = 1 << 2,    /* Support Chunked transfer encoding       */ 
     52        hsupport_range         = 1 << 3,    /* Can handle "Range: bytes=" requests     */ 
     53        hsupport_error         = 1 << 4,    /* It is an error handler                  */ 
     54        hsupport_full_headers  = 1 << 5,    /* Handler adds the full header stack      */ 
     55        hsupport_skip_headers  = 1 << 6     /* The server shouldn't add any headers    */ 
    5556} cherokee_handler_support_t; 
    5657