Mercurial > hg > nginx-quic
comparison src/http/ngx_http.h @ 26:53cb81681040
nginx-0.0.1-2002-12-15-09:25:09 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Sun, 15 Dec 2002 06:25:09 +0000 |
parents | 77c7629a2627 |
children | d45effe5854c |
comparison
equal
deleted
inserted
replaced
25:a8b156554dfe | 26:53cb81681040 |
---|---|
30 #define NGX_HTTP_PARSE_INVALID_HEADER 14 | 30 #define NGX_HTTP_PARSE_INVALID_HEADER 14 |
31 | 31 |
32 | 32 |
33 #define NGX_HTTP_OK 200 | 33 #define NGX_HTTP_OK 200 |
34 #define NGX_HTTP_SPECIAL_RESPONSE 300 | 34 #define NGX_HTTP_SPECIAL_RESPONSE 300 |
35 #define NGX_HTTP_MOVED_PERMANENTLY 302 | 35 #define NGX_HTTP_MOVED_PERMANENTLY 301 |
36 #define NGX_HTTP_MOVED_TEMPORARILY 302 | |
37 #define NGX_HTTP_NOT_MODIFIED 304 | |
36 #define NGX_HTTP_BAD_REQUEST 400 | 38 #define NGX_HTTP_BAD_REQUEST 400 |
37 #define NGX_HTTP_NOT_FOUND 404 | 39 #define NGX_HTTP_NOT_FOUND 404 |
38 #define NGX_HTTP_REQUEST_URI_TOO_LARGE 414 | 40 #define NGX_HTTP_REQUEST_URI_TOO_LARGE 414 |
39 #define NGX_HTTP_INTERNAL_SERVER_ERROR 503 | 41 #define NGX_HTTP_INTERNAL_SERVER_ERROR 500 |
40 | 42 |
41 | 43 |
42 #define NGX_HTTP_STATIC_HANDLER 0 | 44 #define NGX_HTTP_STATIC_HANDLER 0 |
43 #define NGX_HTTP_DIRECTORY_HANDLER 1 | 45 #define NGX_HTTP_DIRECTORY_HANDLER 1 |
44 | 46 |
57 ngx_msec_t header_timeout; | 59 ngx_msec_t header_timeout; |
58 ngx_msec_t lingering_timeout; | 60 ngx_msec_t lingering_timeout; |
59 time_t lingering_time; | 61 time_t lingering_time; |
60 } ngx_http_server_t; | 62 } ngx_http_server_t; |
61 | 63 |
64 | |
62 typedef struct { | 65 typedef struct { |
63 int len; | 66 int len; |
64 char *data; | 67 char *data; |
65 int offset; | 68 int offset; |
66 } ngx_http_header_t; | 69 } ngx_http_header_t; |
67 | 70 |
71 | |
68 typedef struct { | 72 typedef struct { |
69 ngx_table_elt_t *host; | 73 ngx_table_elt_t *host; |
70 ngx_table_elt_t *connection; | 74 ngx_table_elt_t *connection; |
75 ngx_table_elt_t *if_modified_since; | |
71 ngx_table_elt_t *user_agent; | 76 ngx_table_elt_t *user_agent; |
72 ngx_table_elt_t *accept_encoding; | 77 ngx_table_elt_t *accept_encoding; |
73 | 78 |
74 ngx_table_t *headers; | 79 ngx_table_t *headers; |
75 } ngx_http_headers_in_t; | 80 } ngx_http_headers_in_t; |
81 | |
76 | 82 |
77 typedef struct { | 83 typedef struct { |
78 int status; | 84 int status; |
79 ngx_str_t status_line; | 85 ngx_str_t status_line; |
80 | 86 |
91 char *etag; | 97 char *etag; |
92 time_t date_time; | 98 time_t date_time; |
93 time_t last_modified_time; | 99 time_t last_modified_time; |
94 } ngx_http_headers_out_t; | 100 } ngx_http_headers_out_t; |
95 | 101 |
102 | |
96 typedef struct ngx_http_request_s ngx_http_request_t; | 103 typedef struct ngx_http_request_s ngx_http_request_t; |
97 | 104 |
98 struct ngx_http_request_s { | 105 struct ngx_http_request_s { |
99 ngx_str_t filename; | 106 ngx_file_t file; |
100 | 107 |
108 #if 0 | |
109 ngx_str_t filename; | |
110 ngx_file_info_t fileinfo; | |
101 ngx_fd_t fd; | 111 ngx_fd_t fd; |
112 int filename_len; | |
113 #endif | |
102 | 114 |
103 void **ctx; | 115 void **ctx; |
104 void **loc_conf; | 116 void **loc_conf; |
105 void **srv_conf; | 117 void **srv_conf; |
106 | 118 |
108 ngx_hunk_t *header_in; | 120 ngx_hunk_t *header_in; |
109 | 121 |
110 ngx_http_headers_in_t headers_in; | 122 ngx_http_headers_in_t headers_in; |
111 ngx_http_headers_out_t headers_out; | 123 ngx_http_headers_out_t headers_out; |
112 | 124 |
113 int filename_len; | |
114 int (*handler)(ngx_http_request_t *r); | 125 int (*handler)(ngx_http_request_t *r); |
115 | |
116 ngx_file_info_t fileinfo; | |
117 | 126 |
118 int method; | 127 int method; |
119 | 128 |
120 time_t lingering_time; | 129 time_t lingering_time; |
121 | 130 |
144 | 153 |
145 unsigned logging:1; | 154 unsigned logging:1; |
146 | 155 |
147 unsigned header_only:1; | 156 unsigned header_only:1; |
148 unsigned unusual_uri:1; /* URI is not started with '/' - "GET http://" */ | 157 unsigned unusual_uri:1; /* URI is not started with '/' - "GET http://" */ |
149 unsigned complex_uri:1; /* URI with "./" or with "//" */ | 158 unsigned complex_uri:1; /* URI with "/." or with "//" (WIN32) */ |
150 | 159 |
151 int state; | 160 int state; |
152 char *uri_start; | 161 char *uri_start; |
153 char *uri_end; | 162 char *uri_end; |
154 char *uri_ext; | 163 char *uri_ext; |
161 #ifdef NGX_EVENT | 170 #ifdef NGX_EVENT |
162 int (*state_handler)(ngx_http_request_t *r); | 171 int (*state_handler)(ngx_http_request_t *r); |
163 #endif | 172 #endif |
164 }; | 173 }; |
165 | 174 |
175 | |
166 typedef struct { | 176 typedef struct { |
167 char *action; | 177 char *action; |
168 char *client; | 178 char *client; |
169 char *url; | 179 char *url; |
170 } ngx_http_log_ctx_t; | 180 } ngx_http_log_ctx_t; |
179 | 189 |
180 int (*init_module)(ngx_pool_t *p); | 190 int (*init_module)(ngx_pool_t *p); |
181 | 191 |
182 int (*translate_handler)(ngx_http_request_t *r); | 192 int (*translate_handler)(ngx_http_request_t *r); |
183 | 193 |
184 int (*init_output_body_filter)(int (**next_filter) | 194 int (*output_header_filter) (ngx_http_request_t *r); |
195 int (*next_output_header_filter) (ngx_http_request_t *r); | |
196 | |
197 int (*output_body_filter)(); | |
198 int (*next_output_body_filter) | |
199 (ngx_http_request_t *r, ngx_chain_t *ch); | |
200 | |
201 #if 0 | |
202 int (*next_output_body_filter)(int (**next_filter) | |
185 (ngx_http_request_t *r, ngx_chain_t *ch)); | 203 (ngx_http_request_t *r, ngx_chain_t *ch)); |
204 #endif | |
186 } ngx_http_module_t; | 205 } ngx_http_module_t; |
206 | |
187 | 207 |
188 #define NGX_HTTP_MODULE 0 | 208 #define NGX_HTTP_MODULE 0 |
189 | 209 |
190 #define ngx_get_module_loc_conf(r, module) r->loc_conf[module.index] | 210 #define ngx_get_module_loc_conf(r, module) r->loc_conf[module.index] |
191 #define ngx_get_module_ctx(r, module) r->ctx[module.index] | 211 #define ngx_get_module_ctx(r, module) r->ctx[module.index] |
202 #define NGX_INDEX "index.html" | 222 #define NGX_INDEX "index.html" |
203 | 223 |
204 | 224 |
205 /* STUB */ | 225 /* STUB */ |
206 int ngx_http_init(ngx_pool_t *pool, ngx_log_t *log); | 226 int ngx_http_init(ngx_pool_t *pool, ngx_log_t *log); |
227 /**/ | |
207 | 228 |
208 int ngx_http_init_connection(ngx_connection_t *c); | 229 int ngx_http_init_connection(ngx_connection_t *c); |
209 | 230 |
210 | 231 |
232 int ngx_http_discard_body(ngx_http_request_t *r); | |
233 | |
234 | |
211 extern int ngx_max_module; | 235 extern int ngx_max_module; |
212 | 236 |
213 extern ngx_http_module_t *ngx_http_modules[]; | 237 extern ngx_http_module_t *ngx_http_modules[]; |
214 | 238 |
215 | 239 |