Mercurial > hg > nginx
comparison src/http/ngx_http.h @ 91:637625a2acdb
nginx-0.0.1-2003-05-19-20:39:14 import
author | Igor Sysoev <igor@sysoev.ru> |
---|---|
date | Mon, 19 May 2003 16:39:14 +0000 |
parents | 29bf798b583f |
children | a23d010f356d |
comparison
equal
deleted
inserted
replaced
90:37530da31268 | 91:637625a2acdb |
---|---|
10 #include <ngx_hunk.h> | 10 #include <ngx_hunk.h> |
11 #include <ngx_files.h> | 11 #include <ngx_files.h> |
12 #include <ngx_connection.h> | 12 #include <ngx_connection.h> |
13 #include <ngx_conf_file.h> | 13 #include <ngx_conf_file.h> |
14 | 14 |
15 /* STUB */ | 15 #include <ngx_http_request.h> |
16 #include <ngx_event_timer.h> | |
17 | |
18 #define NGX_HTTP_VERSION_9 9 | |
19 #define NGX_HTTP_VERSION_10 1000 | |
20 #define NGX_HTTP_VERSION_11 1001 | |
21 | |
22 #define NGX_HTTP_GET 1 | |
23 #define NGX_HTTP_HEAD 2 | |
24 #define NGX_HTTP_POST 3 | |
25 | |
26 #define NGX_HTTP_CONN_CLOSE 0 | |
27 #define NGX_HTTP_CONN_KEEP_ALIVE 1 | |
28 | |
29 | |
30 #define NGX_HTTP_PARSE_HEADER_DONE 1 | |
31 #define NGX_HTTP_PARSE_INVALID_METHOD 10 | |
32 #define NGX_HTTP_PARSE_INVALID_REQUEST 11 | |
33 #define NGX_HTTP_PARSE_TOO_LONG_URI 12 | |
34 #define NGX_HTTP_PARSE_INVALID_09_METHOD 13 | |
35 #define NGX_HTTP_PARSE_INVALID_HEADER 14 | |
36 #define NGX_HTTP_PARSE_TOO_LONG_HEADER 15 | |
37 #define NGX_HTTP_PARSE_NO_HOST_HEADER 16 | |
38 #define NGX_HTTP_PARSE_INVALID_CL_HEADER 17 | |
39 | |
40 | |
41 #define NGX_HTTP_OK 200 | |
42 | |
43 #define NGX_HTTP_SPECIAL_RESPONSE 300 | |
44 #define NGX_HTTP_MOVED_PERMANENTLY 301 | |
45 #define NGX_HTTP_MOVED_TEMPORARILY 302 | |
46 #define NGX_HTTP_NOT_MODIFIED 304 | |
47 | |
48 #define NGX_HTTP_BAD_REQUEST 400 | |
49 #define NGX_HTTP_FORBIDDEN 403 | |
50 #define NGX_HTTP_NOT_FOUND 404 | |
51 #define NGX_HTTP_REQUEST_TIME_OUT 408 | |
52 #define NGX_HTTP_REQUEST_URI_TOO_LARGE 414 | |
53 | |
54 #define NGX_HTTP_INTERNAL_SERVER_ERROR 500 | |
55 #define NGX_HTTP_NOT_IMPLEMENTED 501 | |
56 #define NGX_HTTP_BAD_GATEWAY 502 | |
57 #define NGX_HTTP_SERVICE_UNAVAILABLE 503 | |
58 #define NGX_HTTP_GATEWAY_TIME_OUT 504 | |
59 | |
60 | |
61 | |
62 #define NGX_HTTP_STATIC_HANDLER 0 | |
63 #define NGX_HTTP_DIRECTORY_HANDLER 1 | |
64 | |
65 | |
66 typedef struct { | |
67 ngx_str_t name; | |
68 int offset; | |
69 } ngx_http_header_t; | |
70 | |
71 | |
72 typedef struct { | |
73 size_t host_name_len; | |
74 ssize_t content_length_n; | |
75 | |
76 ngx_table_elt_t *host; | |
77 ngx_table_elt_t *connection; | |
78 ngx_table_elt_t *if_modified_since; | |
79 ngx_table_elt_t *content_length; | |
80 ngx_table_elt_t *accept_encoding; | |
81 | |
82 ngx_table_elt_t *user_agent; | |
83 | |
84 ngx_table_t *headers; | |
85 } ngx_http_headers_in_t; | |
86 | |
87 | |
88 typedef struct { | |
89 ngx_chain_t chain[4]; | |
90 ngx_hunk_t *header_out; | |
91 ngx_hunk_t *hunk; | |
92 ngx_hunk_t *file_hunk; | |
93 ngx_file_t temp_file; | |
94 ngx_path_t *temp_path; | |
95 off_t offset; | |
96 char *header_in_pos; | |
97 } ngx_http_request_body_t; | |
98 | |
99 | |
100 typedef struct { | |
101 int status; | |
102 ngx_str_t status_line; | |
103 | |
104 ngx_table_elt_t *server; | |
105 ngx_table_elt_t *date; | |
106 ngx_table_elt_t *content_type; | |
107 ngx_table_elt_t *location; | |
108 ngx_table_elt_t *last_modified; | |
109 | |
110 ngx_table_t *headers; | |
111 | |
112 off_t content_length; | |
113 char *charset; | |
114 char *etag; | |
115 time_t date_time; | |
116 time_t last_modified_time; | |
117 } ngx_http_headers_out_t; | |
118 | |
119 | |
120 typedef struct ngx_http_request_s ngx_http_request_t; | |
121 | |
122 struct ngx_http_request_s { | |
123 ngx_connection_t *connection; | |
124 | |
125 void **ctx; | |
126 void **srv_conf; | |
127 void **loc_conf; | |
128 | |
129 ngx_file_t file; | |
130 | |
131 ngx_pool_t *pool; | |
132 ngx_hunk_t *header_in; | |
133 ngx_http_request_body_t *request_body; | |
134 | |
135 ngx_http_headers_in_t headers_in; | |
136 ngx_http_headers_out_t headers_out; | |
137 | |
138 int (*handler)(ngx_http_request_t *r); | |
139 | |
140 time_t lingering_time; | |
141 | |
142 int method; | |
143 int http_version; | |
144 int http_major; | |
145 int http_minor; | |
146 | |
147 ngx_str_t request_line; | |
148 ngx_str_t uri; | |
149 ngx_str_t args; | |
150 ngx_str_t exten; | |
151 ngx_http_request_t *main; | |
152 | |
153 u_int in_addr; | |
154 | |
155 int port; | |
156 ngx_str_t port_name; | |
157 | |
158 int filter; | |
159 | |
160 char *discarded_buffer; | |
161 | |
162 ngx_str_t path; | |
163 int path_err; | |
164 | |
165 unsigned proxy:1; | |
166 unsigned cachable:1; | |
167 unsigned pipeline:1; | |
168 unsigned keepalive:1; | |
169 unsigned lingering_close:1; | |
170 | |
171 unsigned header_read:1; | |
172 unsigned header_timeout_set:1; | |
173 | |
174 unsigned logging:1; | |
175 | |
176 unsigned header_only:1; | |
177 unsigned unusual_uri:1; /* URI is not started with '/' - "GET http://" */ | |
178 unsigned complex_uri:1; /* URI with "/." or with "//" (WIN32) */ | |
179 unsigned path_not_found:1; | |
180 #ifdef NGX_EVENT | |
181 unsigned write_level_event:1; | |
182 #endif | |
183 | |
184 int state; | |
185 char *uri_start; | |
186 char *uri_end; | |
187 char *uri_ext; | |
188 char *args_start; | |
189 char *request_start; | |
190 char *request_end; | |
191 char *header_name_start; | |
192 char *header_name_end; | |
193 char *header_start; | |
194 char *header_end; | |
195 #ifdef NGX_EVENT | |
196 int (*state_handler)(ngx_http_request_t *r); | |
197 #endif | |
198 }; | |
199 | 16 |
200 | 17 |
201 typedef struct { | 18 typedef struct { |
202 char *action; | 19 char *action; |
203 char *client; | 20 char *client; |
261 | 78 |
262 int ngx_http_discard_body(ngx_http_request_t *r); | 79 int ngx_http_discard_body(ngx_http_request_t *r); |
263 | 80 |
264 | 81 |
265 | 82 |
83 extern ngx_module_t ngx_http_module; | |
84 | |
266 | 85 |
267 extern int ngx_max_module; | 86 extern int ngx_max_module; |
268 extern ngx_array_t ngx_http_servers; | |
269 | 87 |
270 | |
271 extern int ngx_http_post_accept_timeout; | |
272 extern int ngx_http_connection_pool_size; | |
273 extern int ngx_http_request_pool_size; | |
274 extern int ngx_http_client_header_timeout; | |
275 extern int ngx_http_client_header_buffer_size; | |
276 extern int ngx_http_large_client_header; | |
277 extern int ngx_http_discarded_buffer_size; | |
278 | |
279 extern int ngx_http_url_in_error_log; | |
280 | 88 |
281 extern ngx_array_t ngx_http_translate_handlers; | 89 extern ngx_array_t ngx_http_translate_handlers; |
282 extern ngx_array_t ngx_http_index_handlers; | 90 extern ngx_array_t ngx_http_index_handlers; |
283 | 91 |
284 extern int (*ngx_http_top_header_filter) (ngx_http_request_t *r); | 92 extern int (*ngx_http_top_header_filter) (ngx_http_request_t *r); |