Mercurial > hg > nginx
comparison src/http/ngx_http.h @ 69:e43f406e4525
nginx-0.0.1-2003-03-20-19:09:44 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Thu, 20 Mar 2003 16:09:44 +0000 |
parents | 5a7d1aaa1618 |
children | 59229033ae93 |
comparison
equal
deleted
inserted
replaced
68:d549fdc17d7e | 69:e43f406e4525 |
---|---|
36 #define NGX_HTTP_PARSE_TOO_LONG_HEADER 15 | 36 #define NGX_HTTP_PARSE_TOO_LONG_HEADER 15 |
37 #define NGX_HTTP_PARSE_NO_HOST_HEADER 16 | 37 #define NGX_HTTP_PARSE_NO_HOST_HEADER 16 |
38 | 38 |
39 | 39 |
40 #define NGX_HTTP_OK 200 | 40 #define NGX_HTTP_OK 200 |
41 | |
41 #define NGX_HTTP_SPECIAL_RESPONSE 300 | 42 #define NGX_HTTP_SPECIAL_RESPONSE 300 |
42 #define NGX_HTTP_MOVED_PERMANENTLY 301 | 43 #define NGX_HTTP_MOVED_PERMANENTLY 301 |
43 #define NGX_HTTP_MOVED_TEMPORARILY 302 | 44 #define NGX_HTTP_MOVED_TEMPORARILY 302 |
44 #define NGX_HTTP_NOT_MODIFIED 304 | 45 #define NGX_HTTP_NOT_MODIFIED 304 |
46 | |
45 #define NGX_HTTP_BAD_REQUEST 400 | 47 #define NGX_HTTP_BAD_REQUEST 400 |
46 #define NGX_HTTP_FORBIDDEN 403 | 48 #define NGX_HTTP_FORBIDDEN 403 |
47 #define NGX_HTTP_NOT_FOUND 404 | 49 #define NGX_HTTP_NOT_FOUND 404 |
50 #define NGX_HTTP_REQUEST_TIME_OUT 408 | |
48 #define NGX_HTTP_REQUEST_URI_TOO_LARGE 414 | 51 #define NGX_HTTP_REQUEST_URI_TOO_LARGE 414 |
52 | |
49 #define NGX_HTTP_INTERNAL_SERVER_ERROR 500 | 53 #define NGX_HTTP_INTERNAL_SERVER_ERROR 500 |
50 #define NGX_HTTP_NOT_IMPLEMENTED 501 | 54 #define NGX_HTTP_NOT_IMPLEMENTED 501 |
51 #define NGX_HTTP_BAD_GATEWAY 502 | 55 #define NGX_HTTP_BAD_GATEWAY 502 |
52 #define NGX_HTTP_SERVICE_UNAVAILABLE 503 | 56 #define NGX_HTTP_SERVICE_UNAVAILABLE 503 |
53 #define NGX_HTTP_GATEWAY_TIME_OUT 504 | 57 #define NGX_HTTP_GATEWAY_TIME_OUT 504 |
57 #define NGX_HTTP_STATIC_HANDLER 0 | 61 #define NGX_HTTP_STATIC_HANDLER 0 |
58 #define NGX_HTTP_DIRECTORY_HANDLER 1 | 62 #define NGX_HTTP_DIRECTORY_HANDLER 1 |
59 | 63 |
60 | 64 |
61 typedef struct { | 65 typedef struct { |
62 size_t len; | 66 ngx_str_t name; |
63 char *data; | 67 int offset; |
64 int offset; | |
65 } ngx_http_header_t; | 68 } ngx_http_header_t; |
66 | 69 |
67 | 70 |
68 typedef struct { | 71 typedef struct { |
69 size_t host_name_len; | 72 size_t host_name_len; |
70 | 73 |
71 ngx_table_elt_t *host; | 74 ngx_table_elt_t *host; |
72 ngx_table_elt_t *connection; | 75 ngx_table_elt_t *connection; |
73 ngx_table_elt_t *if_modified_since; | 76 ngx_table_elt_t *if_modified_since; |
77 ngx_table_elt_t *accept_encoding; | |
78 | |
74 ngx_table_elt_t *user_agent; | 79 ngx_table_elt_t *user_agent; |
75 ngx_table_elt_t *accept_encoding; | |
76 | 80 |
77 ngx_table_t *headers; | 81 ngx_table_t *headers; |
78 } ngx_http_headers_in_t; | 82 } ngx_http_headers_in_t; |
79 | 83 |
80 | 84 |
99 | 103 |
100 | 104 |
101 typedef struct ngx_http_request_s ngx_http_request_t; | 105 typedef struct ngx_http_request_s ngx_http_request_t; |
102 | 106 |
103 struct ngx_http_request_s { | 107 struct ngx_http_request_s { |
104 ngx_file_t file; | 108 ngx_connection_t *connection; |
105 | 109 |
106 void **ctx; | 110 void **ctx; |
107 void **srv_conf; | 111 void **srv_conf; |
108 void **loc_conf; | 112 void **loc_conf; |
109 | 113 |
110 ngx_pool_t *pool; | 114 ngx_file_t file; |
111 ngx_hunk_t *header_in; | 115 |
116 ngx_pool_t *pool; | |
117 ngx_hunk_t *header_in; | |
112 | 118 |
113 ngx_http_headers_in_t headers_in; | 119 ngx_http_headers_in_t headers_in; |
114 ngx_http_headers_out_t headers_out; | 120 ngx_http_headers_out_t headers_out; |
115 | 121 |
116 int (*handler)(ngx_http_request_t *r); | 122 int (*handler)(ngx_http_request_t *r); |
117 | 123 |
118 int method; | |
119 | |
120 time_t lingering_time; | 124 time_t lingering_time; |
121 | 125 |
122 int http_version; | 126 int method; |
123 int http_major; | 127 int http_version; |
124 int http_minor; | 128 int http_major; |
125 | 129 int http_minor; |
126 ngx_str_t request_line; | 130 |
127 ngx_str_t uri; | 131 ngx_str_t request_line; |
128 ngx_str_t exten; | 132 ngx_str_t uri; |
129 ngx_http_request_t *main; | 133 ngx_str_t args; |
130 | 134 ngx_str_t exten; |
131 ngx_connection_t *connection; | 135 ngx_http_request_t *main; |
132 | 136 |
133 u_int in_addr; | 137 u_int in_addr; |
134 | 138 |
135 int port; | 139 int port; |
136 ngx_str_t port_name; | 140 ngx_str_t port_name; |
190 | 194 |
191 typedef int (*ngx_http_output_body_filter_p) | 195 typedef int (*ngx_http_output_body_filter_p) |
192 (ngx_http_request_t *r, ngx_chain_t *chain); | 196 (ngx_http_request_t *r, ngx_chain_t *chain); |
193 | 197 |
194 | 198 |
195 | |
196 typedef struct { | |
197 int index; | |
198 | |
199 void *(*create_srv_conf)(ngx_pool_t *p); | |
200 char *(*init_srv_conf)(ngx_pool_t *p, void *conf); | |
201 void *(*create_loc_conf)(ngx_pool_t *p); | |
202 char *(*merge_loc_conf)(ngx_pool_t *p, void *prev, void *conf); | |
203 | |
204 int (*translate_handler)(ngx_http_request_t *r); | |
205 | |
206 int (*output_header_filter) (ngx_http_request_t *r); | |
207 int (*next_output_header_filter) (ngx_http_request_t *r); | |
208 | |
209 int (*output_body_filter) (ngx_http_request_t *r, ngx_chain_t *ch); | |
210 int (*next_output_body_filter) (ngx_http_request_t *r, ngx_chain_t *ch); | |
211 } ngx_http_module_t; | |
212 | |
213 | |
214 #define NGX_HTTP_MODULE 0x80000000 | |
215 | |
216 #define NGX_HTTP_MODULE_TYPE 0x50545448 /* "HTTP" */ | |
217 | |
218 | |
219 #define ngx_http_get_module_srv_conf(r, module) r->srv_conf[module.index] | |
220 #define ngx_http_get_module_loc_conf(r, module) r->loc_conf[module.index] | |
221 #define ngx_http_get_module_ctx(r, module) r->ctx[module.index] | 199 #define ngx_http_get_module_ctx(r, module) r->ctx[module.index] |
222 | 200 |
223 #define ngx_http_create_ctx(r, cx, module, size, error) \ | 201 #define ngx_http_create_ctx(r, cx, module, size, error) \ |
224 do { \ | 202 do { \ |
225 ngx_test_null(cx, ngx_pcalloc(r->pool, size), error); \ | 203 ngx_test_null(cx, ngx_pcalloc(r->pool, size), error); \ |
241 int ngx_read_http_header_line(ngx_http_request_t *r, ngx_hunk_t *h); | 219 int ngx_read_http_header_line(ngx_http_request_t *r, ngx_hunk_t *h); |
242 int ngx_http_handler(ngx_http_request_t *r); | 220 int ngx_http_handler(ngx_http_request_t *r); |
243 | 221 |
244 | 222 |
245 int ngx_http_send_header(ngx_http_request_t *r); | 223 int ngx_http_send_header(ngx_http_request_t *r); |
246 int ngx_http_special_response(ngx_http_request_t *r, int error); | 224 int ngx_http_special_response_handler(ngx_http_request_t *r, int error); |
247 | 225 |
248 | 226 |
249 time_t ngx_http_parse_time(char *value, size_t len); | 227 time_t ngx_http_parse_time(char *value, size_t len); |
250 size_t ngx_http_get_time(char *buf, time_t t); | 228 size_t ngx_http_get_time(char *buf, time_t t); |
251 | 229 |
267 extern int ngx_http_large_client_header; | 245 extern int ngx_http_large_client_header; |
268 extern int ngx_http_discarded_buffer_size; | 246 extern int ngx_http_discarded_buffer_size; |
269 | 247 |
270 extern int ngx_http_url_in_error_log; | 248 extern int ngx_http_url_in_error_log; |
271 | 249 |
250 extern ngx_array_t ngx_http_translate_handlers; | |
272 extern ngx_array_t ngx_http_index_handlers; | 251 extern ngx_array_t ngx_http_index_handlers; |
273 | |
274 | |
275 extern ngx_http_module_t *ngx_http_modules[]; | |
276 | 252 |
277 | 253 |
278 /* STUB */ | 254 /* STUB */ |
279 int ngx_http_log_handler(ngx_http_request_t *r); | 255 int ngx_http_log_handler(ngx_http_request_t *r); |
280 /**/ | 256 /**/ |