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 /**/