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