Changeset 467

Show
Ignore:
Timestamp:
07/21/2005 08:59:30 PM (3 years ago)
Author:
jan
Message:

Added OPTIONS support

Location:
branches/lighttpd-1.3.x
Files:
4 modified

Legend:

Unmodified
Added
Removed
  • branches/lighttpd-1.3.x/src/keyvalue.c

    r1 r467  
    1616        { HTTP_METHOD_POST, "POST" }, 
    1717        { HTTP_METHOD_HEAD, "HEAD" }, 
     18        { HTTP_METHOD_OPTIONS, "OPTIONS" }, 
    1819        { HTTP_METHOD_UNSET, NULL } 
    1920}; 
  • branches/lighttpd-1.3.x/src/keyvalue.h

    r1 r467  
    88#endif 
    99 
    10 typedef enum { HTTP_METHOD_UNSET = -1, HTTP_METHOD_GET, HTTP_METHOD_POST, HTTP_METHOD_HEAD } http_method_t; 
     10typedef enum { HTTP_METHOD_UNSET = -1, HTTP_METHOD_GET, HTTP_METHOD_POST, HTTP_METHOD_HEAD, HTTP_METHOD_OPTIONS } http_method_t; 
    1111typedef enum { HTTP_VERSION_UNSET = -1, HTTP_VERSION_1_0, HTTP_VERSION_1_1 } http_version_t; 
    1212 
  • branches/lighttpd-1.3.x/src/response.c

    r465 r467  
    9393                 
    9494                if (ds->value->used && ds->key->used && 
    95                     0 != strncmp(ds->key->ptr, "X-LIGHTTPD-", sizeof("X-LIGHTTPD-") - 1)) { 
     95                    0 != strncmp(ds->key->ptr, "X-LIGHTTPD-", sizeof("X-LIGHTTPD-") - 1) && 
     96                    /* headers we send */ 
     97                    !buffer_is_equal_string(ds->key, CONST_STR_LEN("Server")) && 
     98                    !buffer_is_equal_string(ds->key, CONST_STR_LEN("Date")) && 
     99                    !buffer_is_equal_string(ds->key, CONST_STR_LEN("Transfer-Encoding")) && 
     100                    !buffer_is_equal_string(ds->key, CONST_STR_LEN("Connection"))) { 
    96101                        BUFFER_APPEND_STRING_CONST(b, "\r\n"); 
    97102                        buffer_append_string_buffer(b, ds->key); 
     
    859864                } 
    860865                 
     866                return HANDLER_FINISHED; 
     867        } 
     868 
     869        if (con->request.http_method == HTTP_METHOD_OPTIONS) { 
     870                con->file_finished = 1; 
     871                con->file_started = 1; 
     872 
    861873                return HANDLER_FINISHED; 
    862874        } 
  • branches/lighttpd-1.3.x/tests/core.t

    r394 r467  
    1010use strict; 
    1111use IO::Socket; 
    12 use Test::More tests => 15; 
     12use Test::More tests => 16; 
    1313use LightyTest; 
    1414 
     
    116116ok($tf->handle_http($t) == 0, 'URL-encoding, %00'); 
    117117 
     118$t->{REQUEST}  = ( <<EOF 
     119OPTIONS * HTTP/1.0 
     120EOF 
     121 ); 
     122$t->{RESPONSE} = ( { 'HTTP-Protocol' => 'HTTP/1.0', 'HTTP-Status' => 200 } ); 
     123ok($tf->handle_http($t) == 0, 'OPTIONS'); 
    118124 
    119125