diff options
author | Igor Sysoev <igor@sysoev.ru> | 2003-06-02 15:24:30 +0000 |
---|---|---|
committer | Igor Sysoev <igor@sysoev.ru> | 2003-06-02 15:24:30 +0000 |
commit | 7578ec9df43bbb31db5291f1b76359d10900a679 (patch) | |
tree | 87d7b3cb729c0e07b21d52737fd76e12a0c17d72 /src/http/ngx_http_request.h | |
parent | aa3436c04c222d57498bfa34c9fdec50f07fd08d (diff) | |
download | nginx-7578ec9df43bbb31db5291f1b76359d10900a679.tar.gz nginx-7578ec9df43bbb31db5291f1b76359d10900a679.zip |
nginx-0.0.1-2003-06-02-19:24:30 import
Diffstat (limited to 'src/http/ngx_http_request.h')
-rw-r--r-- | src/http/ngx_http_request.h | 86 |
1 files changed, 49 insertions, 37 deletions
diff --git a/src/http/ngx_http_request.h b/src/http/ngx_http_request.h index 15898e868..a4ecb6bf1 100644 --- a/src/http/ngx_http_request.h +++ b/src/http/ngx_http_request.h @@ -40,6 +40,7 @@ #define NGX_HTTP_OK 200 +#define NGX_HTTP_PARTIAL_CONTENT 206 #define NGX_HTTP_SPECIAL_RESPONSE 300 #define NGX_HTTP_MOVED_PERMANENTLY 301 @@ -52,6 +53,7 @@ #define NGX_HTTP_NOT_ALLOWED 405 #define NGX_HTTP_REQUEST_TIME_OUT 408 #define NGX_HTTP_REQUEST_URI_TOO_LARGE 414 +#define NGX_HTTP_RANGE_NOT_SATISFIABLE 416 #define NGX_HTTP_INTERNAL_SERVER_ERROR 500 #define NGX_HTTP_NOT_IMPLEMENTED 501 @@ -79,6 +81,8 @@ typedef struct { ngx_table_elt_t *connection; ngx_table_elt_t *if_modified_since; ngx_table_elt_t *content_length; + ngx_table_elt_t *range; + ngx_table_elt_t *accept_encoding; ngx_table_elt_t *user_agent; @@ -100,6 +104,13 @@ typedef struct { typedef struct { + off_t start; + off_t end; + ngx_str_t content_range; +} ngx_http_range_t; + + +typedef struct { int status; ngx_str_t status_line; @@ -108,11 +119,14 @@ typedef struct { ngx_table_elt_t *content_type; ngx_table_elt_t *location; ngx_table_elt_t *last_modified; + ngx_table_elt_t *content_range; + + ngx_str_t charset; + ngx_array_t ranges; ngx_table_t *headers; off_t content_length; - char *charset; char *etag; time_t date_time; time_t last_modified_time; @@ -140,7 +154,7 @@ struct ngx_http_request_s { int (*handler)(ngx_http_request_t *r); - time_t lingering_time; + time_t lingering_time; int method; int http_version; @@ -161,46 +175,44 @@ struct ngx_http_request_s { ngx_str_t *server_name; ngx_array_t *virtual_names; - int filter; - char *discarded_buffer; + char *discarded_buffer; - ngx_str_t path; - int path_err; + ngx_str_t path; + int path_err; - unsigned proxy:1; - unsigned cachable:1; - unsigned pipeline:1; - unsigned keepalive:1; - unsigned lingering_close:1; + /* URI is not started with '/' - "GET http://" */ + unsigned unusual_uri:1; + /* URI with "/.", "%" and on Win32 with "//" */ + unsigned complex_uri:1; + unsigned header_timeout_set:1; - unsigned header_read:1; - unsigned header_timeout_set:1; - - unsigned logging:1; - - unsigned header_only:1; - unsigned unusual_uri:1; /* URI is not started with '/' - "GET http://" */ - unsigned complex_uri:1; /* URI with "/." or with "//" (WIN32) */ - unsigned path_not_found:1; -#ifdef NGX_EVENT - unsigned write_level_event:1; -#endif - - int state; - char *uri_start; - char *uri_end; - char *uri_ext; - char *args_start; - char *request_start; - char *request_end; - char *header_name_start; - char *header_name_end; - char *header_start; - char *header_end; -#ifdef NGX_EVENT - int (*state_handler)(ngx_http_request_t *r); + unsigned proxy:1; +#if 0 + unsigned cachable:1; #endif + unsigned pipeline:1; + + unsigned chunked:1; + unsigned header_only:1; + unsigned keepalive:1; + unsigned lingering_close:1; + + /* TODO: use filter or bits ???? */ + int filter; + + /* used to parse HTTP headers */ + int state; + char *uri_start; + char *uri_end; + char *uri_ext; + char *args_start; + char *request_start; + char *request_end; + char *header_name_start; + char *header_name_end; + char *header_start; + char *header_end; }; |