Mercurial > hg > nginx
comparison src/http/ngx_http_request.h @ 99:a059e1aa65d4
nginx-0.0.1-2003-06-02-19:24:30 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 02 Jun 2003 15:24:30 +0000 |
parents | a23d010f356d |
children | e29909bd9b8a |
comparison
equal
deleted
inserted
replaced
98:c9b243802a17 | 99:a059e1aa65d4 |
---|---|
38 #define NGX_HTTP_PARSE_NO_HOST_HEADER 16 | 38 #define NGX_HTTP_PARSE_NO_HOST_HEADER 16 |
39 #define NGX_HTTP_PARSE_INVALID_CL_HEADER 17 | 39 #define NGX_HTTP_PARSE_INVALID_CL_HEADER 17 |
40 | 40 |
41 | 41 |
42 #define NGX_HTTP_OK 200 | 42 #define NGX_HTTP_OK 200 |
43 #define NGX_HTTP_PARTIAL_CONTENT 206 | |
43 | 44 |
44 #define NGX_HTTP_SPECIAL_RESPONSE 300 | 45 #define NGX_HTTP_SPECIAL_RESPONSE 300 |
45 #define NGX_HTTP_MOVED_PERMANENTLY 301 | 46 #define NGX_HTTP_MOVED_PERMANENTLY 301 |
46 #define NGX_HTTP_MOVED_TEMPORARILY 302 | 47 #define NGX_HTTP_MOVED_TEMPORARILY 302 |
47 #define NGX_HTTP_NOT_MODIFIED 304 | 48 #define NGX_HTTP_NOT_MODIFIED 304 |
50 #define NGX_HTTP_FORBIDDEN 403 | 51 #define NGX_HTTP_FORBIDDEN 403 |
51 #define NGX_HTTP_NOT_FOUND 404 | 52 #define NGX_HTTP_NOT_FOUND 404 |
52 #define NGX_HTTP_NOT_ALLOWED 405 | 53 #define NGX_HTTP_NOT_ALLOWED 405 |
53 #define NGX_HTTP_REQUEST_TIME_OUT 408 | 54 #define NGX_HTTP_REQUEST_TIME_OUT 408 |
54 #define NGX_HTTP_REQUEST_URI_TOO_LARGE 414 | 55 #define NGX_HTTP_REQUEST_URI_TOO_LARGE 414 |
56 #define NGX_HTTP_RANGE_NOT_SATISFIABLE 416 | |
55 | 57 |
56 #define NGX_HTTP_INTERNAL_SERVER_ERROR 500 | 58 #define NGX_HTTP_INTERNAL_SERVER_ERROR 500 |
57 #define NGX_HTTP_NOT_IMPLEMENTED 501 | 59 #define NGX_HTTP_NOT_IMPLEMENTED 501 |
58 #define NGX_HTTP_BAD_GATEWAY 502 | 60 #define NGX_HTTP_BAD_GATEWAY 502 |
59 #define NGX_HTTP_SERVICE_UNAVAILABLE 503 | 61 #define NGX_HTTP_SERVICE_UNAVAILABLE 503 |
77 | 79 |
78 ngx_table_elt_t *host; | 80 ngx_table_elt_t *host; |
79 ngx_table_elt_t *connection; | 81 ngx_table_elt_t *connection; |
80 ngx_table_elt_t *if_modified_since; | 82 ngx_table_elt_t *if_modified_since; |
81 ngx_table_elt_t *content_length; | 83 ngx_table_elt_t *content_length; |
84 ngx_table_elt_t *range; | |
85 | |
82 ngx_table_elt_t *accept_encoding; | 86 ngx_table_elt_t *accept_encoding; |
83 | 87 |
84 ngx_table_elt_t *user_agent; | 88 ngx_table_elt_t *user_agent; |
85 | 89 |
86 ngx_table_t *headers; | 90 ngx_table_t *headers; |
98 char *header_in_pos; | 102 char *header_in_pos; |
99 } ngx_http_request_body_t; | 103 } ngx_http_request_body_t; |
100 | 104 |
101 | 105 |
102 typedef struct { | 106 typedef struct { |
107 off_t start; | |
108 off_t end; | |
109 ngx_str_t content_range; | |
110 } ngx_http_range_t; | |
111 | |
112 | |
113 typedef struct { | |
103 int status; | 114 int status; |
104 ngx_str_t status_line; | 115 ngx_str_t status_line; |
105 | 116 |
106 ngx_table_elt_t *server; | 117 ngx_table_elt_t *server; |
107 ngx_table_elt_t *date; | 118 ngx_table_elt_t *date; |
108 ngx_table_elt_t *content_type; | 119 ngx_table_elt_t *content_type; |
109 ngx_table_elt_t *location; | 120 ngx_table_elt_t *location; |
110 ngx_table_elt_t *last_modified; | 121 ngx_table_elt_t *last_modified; |
122 ngx_table_elt_t *content_range; | |
123 | |
124 ngx_str_t charset; | |
125 ngx_array_t ranges; | |
111 | 126 |
112 ngx_table_t *headers; | 127 ngx_table_t *headers; |
113 | 128 |
114 off_t content_length; | 129 off_t content_length; |
115 char *charset; | |
116 char *etag; | 130 char *etag; |
117 time_t date_time; | 131 time_t date_time; |
118 time_t last_modified_time; | 132 time_t last_modified_time; |
119 } ngx_http_headers_out_t; | 133 } ngx_http_headers_out_t; |
120 | 134 |
138 ngx_http_headers_in_t headers_in; | 152 ngx_http_headers_in_t headers_in; |
139 ngx_http_headers_out_t headers_out; | 153 ngx_http_headers_out_t headers_out; |
140 | 154 |
141 int (*handler)(ngx_http_request_t *r); | 155 int (*handler)(ngx_http_request_t *r); |
142 | 156 |
143 time_t lingering_time; | 157 time_t lingering_time; |
144 | 158 |
145 int method; | 159 int method; |
146 int http_version; | 160 int http_version; |
147 int http_major; | 161 int http_major; |
148 int http_minor; | 162 int http_minor; |
159 int port; | 173 int port; |
160 ngx_str_t *port_name; /* ":80" */ | 174 ngx_str_t *port_name; /* ":80" */ |
161 ngx_str_t *server_name; | 175 ngx_str_t *server_name; |
162 ngx_array_t *virtual_names; | 176 ngx_array_t *virtual_names; |
163 | 177 |
164 int filter; | 178 |
165 | 179 char *discarded_buffer; |
166 char *discarded_buffer; | 180 |
167 | 181 ngx_str_t path; |
168 ngx_str_t path; | 182 int path_err; |
169 int path_err; | 183 |
170 | 184 /* URI is not started with '/' - "GET http://" */ |
171 unsigned proxy:1; | 185 unsigned unusual_uri:1; |
172 unsigned cachable:1; | 186 /* URI with "/.", "%" and on Win32 with "//" */ |
173 unsigned pipeline:1; | 187 unsigned complex_uri:1; |
174 unsigned keepalive:1; | 188 unsigned header_timeout_set:1; |
175 unsigned lingering_close:1; | 189 |
176 | 190 unsigned proxy:1; |
177 unsigned header_read:1; | 191 #if 0 |
178 unsigned header_timeout_set:1; | 192 unsigned cachable:1; |
179 | |
180 unsigned logging:1; | |
181 | |
182 unsigned header_only:1; | |
183 unsigned unusual_uri:1; /* URI is not started with '/' - "GET http://" */ | |
184 unsigned complex_uri:1; /* URI with "/." or with "//" (WIN32) */ | |
185 unsigned path_not_found:1; | |
186 #ifdef NGX_EVENT | |
187 unsigned write_level_event:1; | |
188 #endif | 193 #endif |
189 | 194 unsigned pipeline:1; |
190 int state; | 195 |
191 char *uri_start; | 196 unsigned chunked:1; |
192 char *uri_end; | 197 unsigned header_only:1; |
193 char *uri_ext; | 198 unsigned keepalive:1; |
194 char *args_start; | 199 unsigned lingering_close:1; |
195 char *request_start; | 200 |
196 char *request_end; | 201 /* TODO: use filter or bits ???? */ |
197 char *header_name_start; | 202 int filter; |
198 char *header_name_end; | 203 |
199 char *header_start; | 204 /* used to parse HTTP headers */ |
200 char *header_end; | 205 int state; |
201 #ifdef NGX_EVENT | 206 char *uri_start; |
202 int (*state_handler)(ngx_http_request_t *r); | 207 char *uri_end; |
203 #endif | 208 char *uri_ext; |
209 char *args_start; | |
210 char *request_start; | |
211 char *request_end; | |
212 char *header_name_start; | |
213 char *header_name_end; | |
214 char *header_start; | |
215 char *header_end; | |
204 }; | 216 }; |
205 | 217 |
206 | 218 |
207 #endif /* _NGX_HTTP_REQUEST_H_INCLUDED_ */ | 219 #endif /* _NGX_HTTP_REQUEST_H_INCLUDED_ */ |