Mercurial > hg > nginx-quic
annotate src/http/ngx_http_core_module.h @ 4515:8bb695c05870 stable-1.0
Merge of r4498:
Fix of rbtree lookup on hash collisions.
Previous code incorrectly assumed that nodes with identical keys are linked
together. This might not be true after tree rebalance.
Patch by Lanshun Zhou.
author | Maxim Dounin <mdounin@mdounin.ru> |
---|---|
date | Mon, 05 Mar 2012 13:17:56 +0000 |
parents | 4919fb357a5d |
children |
rev | line source |
---|---|
441
da8c5707af39
nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents:
437
diff
changeset
|
1 |
da8c5707af39
nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents:
437
diff
changeset
|
2 /* |
444
42d11f017717
nginx-0.1.0-2004-09-29-20:00:49 import; remove years from copyright
Igor Sysoev <igor@sysoev.ru>
parents:
441
diff
changeset
|
3 * Copyright (C) Igor Sysoev |
4450
4919fb357a5d
Merge of r4406, r4413: copyrights updated.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4247
diff
changeset
|
4 * Copyright (C) Nginx, Inc. |
441
da8c5707af39
nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents:
437
diff
changeset
|
5 */ |
da8c5707af39
nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents:
437
diff
changeset
|
6 |
da8c5707af39
nginx-0.1.0-2004-09-28-12:34:51 import; set copyright and remove unused files
Igor Sysoev <igor@sysoev.ru>
parents:
437
diff
changeset
|
7 |
13
2aba961a1d34
nginx-0.0.1-2002-09-16-19:01:44 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
8 #ifndef _NGX_HTTP_CORE_H_INCLUDED_ |
2aba961a1d34
nginx-0.0.1-2002-09-16-19:01:44 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
9 #define _NGX_HTTP_CORE_H_INCLUDED_ |
2aba961a1d34
nginx-0.0.1-2002-09-16-19:01:44 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
10 |
2aba961a1d34
nginx-0.0.1-2002-09-16-19:01:44 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
11 |
2233 | 12 #include <ngx_config.h> |
13 #include <ngx_core.h> | |
13
2aba961a1d34
nginx-0.0.1-2002-09-16-19:01:44 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
14 #include <ngx_http.h> |
2aba961a1d34
nginx-0.0.1-2002-09-16-19:01:44 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
15 |
2aba961a1d34
nginx-0.0.1-2002-09-16-19:01:44 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
16 |
1790
775edc46ee66
ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents:
1772
diff
changeset
|
17 #define NGX_HTTP_GZIP_PROXIED_OFF 0x0002 |
775edc46ee66
ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents:
1772
diff
changeset
|
18 #define NGX_HTTP_GZIP_PROXIED_EXPIRED 0x0004 |
775edc46ee66
ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents:
1772
diff
changeset
|
19 #define NGX_HTTP_GZIP_PROXIED_NO_CACHE 0x0008 |
775edc46ee66
ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents:
1772
diff
changeset
|
20 #define NGX_HTTP_GZIP_PROXIED_NO_STORE 0x0010 |
775edc46ee66
ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents:
1772
diff
changeset
|
21 #define NGX_HTTP_GZIP_PROXIED_PRIVATE 0x0020 |
775edc46ee66
ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents:
1772
diff
changeset
|
22 #define NGX_HTTP_GZIP_PROXIED_NO_LM 0x0040 |
775edc46ee66
ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents:
1772
diff
changeset
|
23 #define NGX_HTTP_GZIP_PROXIED_NO_ETAG 0x0080 |
775edc46ee66
ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents:
1772
diff
changeset
|
24 #define NGX_HTTP_GZIP_PROXIED_AUTH 0x0100 |
775edc46ee66
ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents:
1772
diff
changeset
|
25 #define NGX_HTTP_GZIP_PROXIED_ANY 0x0200 |
775edc46ee66
ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents:
1772
diff
changeset
|
26 |
775edc46ee66
ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents:
1772
diff
changeset
|
27 |
3065 | 28 #define NGX_HTTP_AIO_OFF 0 |
29 #define NGX_HTTP_AIO_ON 1 | |
30 #define NGX_HTTP_AIO_SENDFILE 2 | |
31 | |
32 | |
1806 | 33 #define NGX_HTTP_SATISFY_ALL 0 |
34 #define NGX_HTTP_SATISFY_ANY 1 | |
35 | |
36 | |
4042
d9b486dbf7e5
Merge of r3982, r3984, r3985, r3991:
Igor Sysoev <igor@sysoev.ru>
parents:
3793
diff
changeset
|
37 #define NGX_HTTP_LINGERING_OFF 0 |
d9b486dbf7e5
Merge of r3982, r3984, r3985, r3991:
Igor Sysoev <igor@sysoev.ru>
parents:
3793
diff
changeset
|
38 #define NGX_HTTP_LINGERING_ON 1 |
d9b486dbf7e5
Merge of r3982, r3984, r3985, r3991:
Igor Sysoev <igor@sysoev.ru>
parents:
3793
diff
changeset
|
39 #define NGX_HTTP_LINGERING_ALWAYS 2 |
d9b486dbf7e5
Merge of r3982, r3984, r3985, r3991:
Igor Sysoev <igor@sysoev.ru>
parents:
3793
diff
changeset
|
40 |
d9b486dbf7e5
Merge of r3982, r3984, r3985, r3991:
Igor Sysoev <igor@sysoev.ru>
parents:
3793
diff
changeset
|
41 |
2496 | 42 #define NGX_HTTP_IMS_OFF 0 |
43 #define NGX_HTTP_IMS_EXACT 1 | |
44 #define NGX_HTTP_IMS_BEFORE 2 | |
45 | |
46 | |
3793 | 47 #define NGX_HTTP_KEEPALIVE_DISABLE_NONE 0x0002 |
48 #define NGX_HTTP_KEEPALIVE_DISABLE_MSIE6 0x0004 | |
49 #define NGX_HTTP_KEEPALIVE_DISABLE_SAFARI 0x0008 | |
50 | |
51 | |
2027 | 52 typedef struct ngx_http_location_tree_node_s ngx_http_location_tree_node_t; |
53 typedef struct ngx_http_core_loc_conf_s ngx_http_core_loc_conf_t; | |
54 | |
55 | |
13
2aba961a1d34
nginx-0.0.1-2002-09-16-19:01:44 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
56 typedef struct { |
3395
4e15548b29d4
fix building by gcc 4.4 with -O2/3/s:
Igor Sysoev <igor@sysoev.ru>
parents:
3325
diff
changeset
|
57 union { |
4e15548b29d4
fix building by gcc 4.4 with -O2/3/s:
Igor Sysoev <igor@sysoev.ru>
parents:
3325
diff
changeset
|
58 struct sockaddr sockaddr; |
4e15548b29d4
fix building by gcc 4.4 with -O2/3/s:
Igor Sysoev <igor@sysoev.ru>
parents:
3325
diff
changeset
|
59 struct sockaddr_in sockaddr_in; |
4e15548b29d4
fix building by gcc 4.4 with -O2/3/s:
Igor Sysoev <igor@sysoev.ru>
parents:
3325
diff
changeset
|
60 #if (NGX_HAVE_INET6) |
4e15548b29d4
fix building by gcc 4.4 with -O2/3/s:
Igor Sysoev <igor@sysoev.ru>
parents:
3325
diff
changeset
|
61 struct sockaddr_in6 sockaddr_in6; |
4e15548b29d4
fix building by gcc 4.4 with -O2/3/s:
Igor Sysoev <igor@sysoev.ru>
parents:
3325
diff
changeset
|
62 #endif |
4e15548b29d4
fix building by gcc 4.4 with -O2/3/s:
Igor Sysoev <igor@sysoev.ru>
parents:
3325
diff
changeset
|
63 #if (NGX_HAVE_UNIX_DOMAIN) |
4e15548b29d4
fix building by gcc 4.4 with -O2/3/s:
Igor Sysoev <igor@sysoev.ru>
parents:
3325
diff
changeset
|
64 struct sockaddr_un sockaddr_un; |
4e15548b29d4
fix building by gcc 4.4 with -O2/3/s:
Igor Sysoev <igor@sysoev.ru>
parents:
3325
diff
changeset
|
65 #endif |
4e15548b29d4
fix building by gcc 4.4 with -O2/3/s:
Igor Sysoev <igor@sysoev.ru>
parents:
3325
diff
changeset
|
66 u_char sockaddr_data[NGX_SOCKADDRLEN]; |
4e15548b29d4
fix building by gcc 4.4 with -O2/3/s:
Igor Sysoev <igor@sysoev.ru>
parents:
3325
diff
changeset
|
67 } u; |
4e15548b29d4
fix building by gcc 4.4 with -O2/3/s:
Igor Sysoev <igor@sysoev.ru>
parents:
3325
diff
changeset
|
68 |
3220
cdcd9e29c589
*) move sockaddr to the listen options
Igor Sysoev <igor@sysoev.ru>
parents:
3219
diff
changeset
|
69 socklen_t socklen; |
cdcd9e29c589
*) move sockaddr to the listen options
Igor Sysoev <igor@sysoev.ru>
parents:
3219
diff
changeset
|
70 |
3224
8e76e636ae3b
allow to set listen options in any server
Igor Sysoev <igor@sysoev.ru>
parents:
3221
diff
changeset
|
71 unsigned set:1; |
523 | 72 unsigned default_server:1; |
73 unsigned bind:1; | |
2512
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2496
diff
changeset
|
74 unsigned wildcard:1; |
2224 | 75 #if (NGX_HTTP_SSL) |
76 unsigned ssl:1; | |
77 #endif | |
2562 | 78 #if (NGX_HAVE_INET6 && defined IPV6_V6ONLY) |
79 unsigned ipv6only:2; | |
80 #endif | |
523 | 81 |
82 int backlog; | |
563 | 83 int rcvbuf; |
84 int sndbuf; | |
3676 | 85 #if (NGX_HAVE_SETFIB) |
86 int setfib; | |
87 #endif | |
523 | 88 |
89 #if (NGX_HAVE_DEFERRED_ACCEPT && defined SO_ACCEPTFILTER) | |
90 char *accept_filter; | |
91 #endif | |
92 #if (NGX_HAVE_DEFERRED_ACCEPT && defined TCP_DEFER_ACCEPT) | |
93 ngx_uint_t deferred_accept; | |
94 #endif | |
95 | |
2512
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2496
diff
changeset
|
96 u_char addr[NGX_SOCKADDR_STRLEN + 1]; |
3217 | 97 } ngx_http_listen_opt_t; |
523 | 98 |
99 | |
201
267ea1d98683
nginx-0.0.1-2003-11-30-23:03:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
195
diff
changeset
|
100 typedef enum { |
573 | 101 NGX_HTTP_POST_READ_PHASE = 0, |
368
15c84a40e87d
nginx-0.0.7-2004-06-24-20:07:04 import
Igor Sysoev <igor@sysoev.ru>
parents:
362
diff
changeset
|
102 |
573 | 103 NGX_HTTP_SERVER_REWRITE_PHASE, |
681 | 104 |
573 | 105 NGX_HTTP_FIND_CONFIG_PHASE, |
489 | 106 NGX_HTTP_REWRITE_PHASE, |
681 | 107 NGX_HTTP_POST_REWRITE_PHASE, |
368
15c84a40e87d
nginx-0.0.7-2004-06-24-20:07:04 import
Igor Sysoev <igor@sysoev.ru>
parents:
362
diff
changeset
|
108 |
581 | 109 NGX_HTTP_PREACCESS_PHASE, |
110 | |
368
15c84a40e87d
nginx-0.0.7-2004-06-24-20:07:04 import
Igor Sysoev <igor@sysoev.ru>
parents:
362
diff
changeset
|
111 NGX_HTTP_ACCESS_PHASE, |
681 | 112 NGX_HTTP_POST_ACCESS_PHASE, |
113 | |
2407 | 114 NGX_HTTP_TRY_FILES_PHASE, |
201
267ea1d98683
nginx-0.0.1-2003-11-30-23:03:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
195
diff
changeset
|
115 NGX_HTTP_CONTENT_PHASE, |
368
15c84a40e87d
nginx-0.0.7-2004-06-24-20:07:04 import
Igor Sysoev <igor@sysoev.ru>
parents:
362
diff
changeset
|
116 |
581 | 117 NGX_HTTP_LOG_PHASE |
201
267ea1d98683
nginx-0.0.1-2003-11-30-23:03:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
195
diff
changeset
|
118 } ngx_http_phases; |
267ea1d98683
nginx-0.0.1-2003-11-30-23:03:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
195
diff
changeset
|
119 |
681 | 120 typedef struct ngx_http_phase_handler_s ngx_http_phase_handler_t; |
121 | |
122 typedef ngx_int_t (*ngx_http_phase_handler_pt)(ngx_http_request_t *r, | |
123 ngx_http_phase_handler_t *ph); | |
124 | |
125 struct ngx_http_phase_handler_s { | |
126 ngx_http_phase_handler_pt checker; | |
127 ngx_http_handler_pt handler; | |
128 ngx_uint_t next; | |
129 }; | |
130 | |
131 | |
132 typedef struct { | |
133 ngx_http_phase_handler_t *handlers; | |
134 ngx_uint_t server_rewrite_index; | |
1353 | 135 ngx_uint_t location_rewrite_index; |
681 | 136 } ngx_http_phase_engine_t; |
137 | |
201
267ea1d98683
nginx-0.0.1-2003-11-30-23:03:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
195
diff
changeset
|
138 |
19
d7908993fdeb
nginx-0.0.1-2002-12-02-19:09:40 import; resume after 2 months stall
Igor Sysoev <igor@sysoev.ru>
parents:
13
diff
changeset
|
139 typedef struct { |
477 | 140 ngx_array_t handlers; |
143
5526213be452
nginx-0.0.1-2003-10-10-19:10:50 import
Igor Sysoev <igor@sysoev.ru>
parents:
114
diff
changeset
|
141 } ngx_http_phase_t; |
5526213be452
nginx-0.0.1-2003-10-10-19:10:50 import
Igor Sysoev <igor@sysoev.ru>
parents:
114
diff
changeset
|
142 |
5526213be452
nginx-0.0.1-2003-10-10-19:10:50 import
Igor Sysoev <igor@sysoev.ru>
parents:
114
diff
changeset
|
143 |
5526213be452
nginx-0.0.1-2003-10-10-19:10:50 import
Igor Sysoev <igor@sysoev.ru>
parents:
114
diff
changeset
|
144 typedef struct { |
485 | 145 ngx_array_t servers; /* ngx_http_core_srv_conf_t */ |
477 | 146 |
681 | 147 ngx_http_phase_engine_t phase_engine; |
143
5526213be452
nginx-0.0.1-2003-10-10-19:10:50 import
Igor Sysoev <igor@sysoev.ru>
parents:
114
diff
changeset
|
148 |
649 | 149 ngx_hash_t headers_in_hash; |
611 | 150 |
151 ngx_hash_t variables_hash; | |
152 | |
153 ngx_array_t variables; /* ngx_http_variable_t */ | |
3325 | 154 ngx_uint_t ncaptures; |
507 | 155 |
593 | 156 ngx_uint_t server_names_hash_max_size; |
157 ngx_uint_t server_names_hash_bucket_size; | |
485 | 158 |
611 | 159 ngx_uint_t variables_hash_max_size; |
160 ngx_uint_t variables_hash_bucket_size; | |
161 | |
162 ngx_hash_keys_arrays_t *variables_keys; | |
681 | 163 |
3217 | 164 ngx_array_t *ports; |
165 | |
2407 | 166 ngx_uint_t try_files; /* unsigned try_files:1 */ |
167 | |
681 | 168 ngx_http_phase_t phases[NGX_HTTP_LOG_PHASE + 1]; |
90
37530da31268
nginx-0.0.1-2003-05-16-19:27:48 import
Igor Sysoev <igor@sysoev.ru>
parents:
89
diff
changeset
|
169 } ngx_http_core_main_conf_t; |
37530da31268
nginx-0.0.1-2003-05-16-19:27:48 import
Igor Sysoev <igor@sysoev.ru>
parents:
89
diff
changeset
|
170 |
37530da31268
nginx-0.0.1-2003-05-16-19:27:48 import
Igor Sysoev <igor@sysoev.ru>
parents:
89
diff
changeset
|
171 |
37530da31268
nginx-0.0.1-2003-05-16-19:27:48 import
Igor Sysoev <igor@sysoev.ru>
parents:
89
diff
changeset
|
172 typedef struct { |
485 | 173 /* array of the ngx_http_server_name_t, "server_name" directive */ |
2027 | 174 ngx_array_t server_names; |
393
5659d773cfa8
nginx-0.0.7-2004-07-15-20:35:51 import
Igor Sysoev <igor@sysoev.ru>
parents:
391
diff
changeset
|
175 |
5659d773cfa8
nginx-0.0.7-2004-07-15-20:35:51 import
Igor Sysoev <igor@sysoev.ru>
parents:
391
diff
changeset
|
176 /* server ctx */ |
2027 | 177 ngx_http_conf_ctx_t *ctx; |
290
87e73f067470
nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
257
diff
changeset
|
178 |
2027 | 179 ngx_str_t server_name; |
593 | 180 |
2027 | 181 size_t connection_pool_size; |
182 size_t request_pool_size; | |
183 size_t client_header_buffer_size; | |
290
87e73f067470
nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
257
diff
changeset
|
184 |
2027 | 185 ngx_bufs_t large_client_header_buffers; |
435
5cdc4838d4e8
nginx-0.0.11-2004-09-22-20:18:21 import
Igor Sysoev <igor@sysoev.ru>
parents:
429
diff
changeset
|
186 |
2027 | 187 ngx_msec_t client_header_timeout; |
335
d4241d7787fe
nginx-0.0.3-2004-05-14-20:51:47 import
Igor Sysoev <igor@sysoev.ru>
parents:
326
diff
changeset
|
188 |
2027 | 189 ngx_flag_t ignore_invalid_headers; |
190 ngx_flag_t merge_slashes; | |
2256 | 191 ngx_flag_t underscores_in_headers; |
2027 | 192 |
3219 | 193 unsigned listen:1; |
194 #if (NGX_PCRE) | |
195 unsigned captures:1; | |
196 #endif | |
3217 | 197 |
2027 | 198 ngx_http_core_loc_conf_t **named_locations; |
19
d7908993fdeb
nginx-0.0.1-2002-12-02-19:09:40 import; resume after 2 months stall
Igor Sysoev <igor@sysoev.ru>
parents:
13
diff
changeset
|
199 } ngx_http_core_srv_conf_t; |
d7908993fdeb
nginx-0.0.1-2002-12-02-19:09:40 import; resume after 2 months stall
Igor Sysoev <igor@sysoev.ru>
parents:
13
diff
changeset
|
200 |
41
59e7c7f30d49
nginx-0.0.1-2002-12-26-19:26:23 import
Igor Sysoev <igor@sysoev.ru>
parents:
19
diff
changeset
|
201 |
55
cad6c2f43283
nginx-0.0.1-2003-01-29-10:25:51 import
Igor Sysoev <igor@sysoev.ru>
parents:
54
diff
changeset
|
202 /* list of structures to find core_srv_conf quickly at run time */ |
44
0e81ac0bb3e2
nginx-0.0.1-2003-01-09-08:36:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
41
diff
changeset
|
203 |
593 | 204 |
205 typedef struct { | |
206 /* the default server configuration for this address:port */ | |
3221
c8de5a8b6d17
rename core_srv_conf fields to more understandable default_server and server
Igor Sysoev <igor@sysoev.ru>
parents:
3220
diff
changeset
|
207 ngx_http_core_srv_conf_t *default_server; |
1387 | 208 |
2689
6caf687a831f
backout r2535: virtual names is a property of address:port pair,
Igor Sysoev <igor@sysoev.ru>
parents:
2589
diff
changeset
|
209 ngx_http_virtual_names_t *virtual_names; |
6caf687a831f
backout r2535: virtual names is a property of address:port pair,
Igor Sysoev <igor@sysoev.ru>
parents:
2589
diff
changeset
|
210 |
2224 | 211 #if (NGX_HTTP_SSL) |
212 ngx_uint_t ssl; /* unsigned ssl:1; */ | |
213 #endif | |
2512
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2496
diff
changeset
|
214 } ngx_http_addr_conf_t; |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2496
diff
changeset
|
215 |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2496
diff
changeset
|
216 |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2496
diff
changeset
|
217 typedef struct { |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2496
diff
changeset
|
218 in_addr_t addr; |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2496
diff
changeset
|
219 ngx_http_addr_conf_t conf; |
593 | 220 } ngx_http_in_addr_t; |
221 | |
222 | |
2512
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2496
diff
changeset
|
223 #if (NGX_HAVE_INET6) |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2496
diff
changeset
|
224 |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2496
diff
changeset
|
225 typedef struct { |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2496
diff
changeset
|
226 struct in6_addr addr6; |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2496
diff
changeset
|
227 ngx_http_addr_conf_t conf; |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2496
diff
changeset
|
228 } ngx_http_in6_addr_t; |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2496
diff
changeset
|
229 |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2496
diff
changeset
|
230 #endif |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2496
diff
changeset
|
231 |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2496
diff
changeset
|
232 |
44
0e81ac0bb3e2
nginx-0.0.1-2003-01-09-08:36:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
41
diff
changeset
|
233 typedef struct { |
2512
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2496
diff
changeset
|
234 /* ngx_http_in_addr_t or ngx_http_in6_addr_t */ |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2496
diff
changeset
|
235 void *addrs; |
593 | 236 ngx_uint_t naddrs; |
2512
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2496
diff
changeset
|
237 } ngx_http_port_t; |
44
0e81ac0bb3e2
nginx-0.0.1-2003-01-09-08:36:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
41
diff
changeset
|
238 |
89
29bf798b583f
nginx-0.0.1-2003-05-15-19:42:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
88
diff
changeset
|
239 |
593 | 240 typedef struct { |
2512
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2496
diff
changeset
|
241 ngx_int_t family; |
593 | 242 in_port_t port; |
2512
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2496
diff
changeset
|
243 ngx_array_t addrs; /* array of ngx_http_conf_addr_t */ |
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2496
diff
changeset
|
244 } ngx_http_conf_port_t; |
593 | 245 |
246 | |
247 typedef struct { | |
3220
cdcd9e29c589
*) move sockaddr to the listen options
Igor Sysoev <igor@sysoev.ru>
parents:
3219
diff
changeset
|
248 ngx_http_listen_opt_t opt; |
477 | 249 |
593 | 250 ngx_hash_t hash; |
1253
8ef04207c84f
the "www.example.*" wildcard hash support
Igor Sysoev <igor@sysoev.ru>
parents:
1236
diff
changeset
|
251 ngx_hash_wildcard_t *wc_head; |
8ef04207c84f
the "www.example.*" wildcard hash support
Igor Sysoev <igor@sysoev.ru>
parents:
1236
diff
changeset
|
252 ngx_hash_wildcard_t *wc_tail; |
593 | 253 |
1387 | 254 #if (NGX_PCRE) |
255 ngx_uint_t nregex; | |
256 ngx_http_server_name_t *regex; | |
257 #endif | |
258 | |
477 | 259 /* the default server configuration for this address:port */ |
3221
c8de5a8b6d17
rename core_srv_conf fields to more understandable default_server and server
Igor Sysoev <igor@sysoev.ru>
parents:
3220
diff
changeset
|
260 ngx_http_core_srv_conf_t *default_server; |
3219 | 261 ngx_array_t servers; /* array of ngx_http_core_srv_conf_t */ |
2512
2e91aecb9e57
a prelimiary IPv6 support, HTTP listen
Igor Sysoev <igor@sysoev.ru>
parents:
2496
diff
changeset
|
262 } ngx_http_conf_addr_t; |
44
0e81ac0bb3e2
nginx-0.0.1-2003-01-09-08:36:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
41
diff
changeset
|
263 |
89
29bf798b583f
nginx-0.0.1-2003-05-15-19:42:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
88
diff
changeset
|
264 |
1387 | 265 struct ngx_http_server_name_s { |
266 #if (NGX_PCRE) | |
3325 | 267 ngx_http_regex_t *regex; |
1387 | 268 #endif |
3221
c8de5a8b6d17
rename core_srv_conf fields to more understandable default_server and server
Igor Sysoev <igor@sysoev.ru>
parents:
3220
diff
changeset
|
269 ngx_http_core_srv_conf_t *server; /* virtual name server conf */ |
55
cad6c2f43283
nginx-0.0.1-2003-01-29-10:25:51 import
Igor Sysoev <igor@sysoev.ru>
parents:
54
diff
changeset
|
270 ngx_str_t name; |
1387 | 271 }; |
55
cad6c2f43283
nginx-0.0.1-2003-01-29-10:25:51 import
Igor Sysoev <igor@sysoev.ru>
parents:
54
diff
changeset
|
272 |
cad6c2f43283
nginx-0.0.1-2003-01-29-10:25:51 import
Igor Sysoev <igor@sysoev.ru>
parents:
54
diff
changeset
|
273 |
44
0e81ac0bb3e2
nginx-0.0.1-2003-01-09-08:36:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
41
diff
changeset
|
274 typedef struct { |
673 | 275 ngx_int_t status; |
276 ngx_int_t overwrite; | |
2589
859f6675a553
use complex value in error_page
Igor Sysoev <igor@sysoev.ru>
parents:
2562
diff
changeset
|
277 ngx_http_complex_value_t value; |
1982
dd388c80f5a2
args support in static error_page
Igor Sysoev <igor@sysoev.ru>
parents:
1806
diff
changeset
|
278 ngx_str_t args; |
176
c0552e5ab567
nginx-0.0.1-2003-11-09-23:03:38 import; separate building
Igor Sysoev <igor@sysoev.ru>
parents:
162
diff
changeset
|
279 } ngx_http_err_page_t; |
c0552e5ab567
nginx-0.0.1-2003-11-09-23:03:38 import; separate building
Igor Sysoev <igor@sysoev.ru>
parents:
162
diff
changeset
|
280 |
c0552e5ab567
nginx-0.0.1-2003-11-09-23:03:38 import; separate building
Igor Sysoev <igor@sysoev.ru>
parents:
162
diff
changeset
|
281 |
2407 | 282 typedef struct { |
283 ngx_array_t *lengths; | |
284 ngx_array_t *values; | |
285 ngx_str_t name; | |
2695 | 286 |
287 unsigned code:10; | |
288 unsigned test_dir:1; | |
2407 | 289 } ngx_http_try_file_t; |
290 | |
291 | |
396
6f3b20c1ac50
nginx-0.0.7-2004-07-18-23:11:20 import
Igor Sysoev <igor@sysoev.ru>
parents:
395
diff
changeset
|
292 struct ngx_http_core_loc_conf_s { |
96
a23d010f356d
nginx-0.0.1-2003-05-27-16:18:54 import
Igor Sysoev <igor@sysoev.ru>
parents:
95
diff
changeset
|
293 ngx_str_t name; /* location name */ |
396
6f3b20c1ac50
nginx-0.0.7-2004-07-18-23:11:20 import
Igor Sysoev <igor@sysoev.ru>
parents:
395
diff
changeset
|
294 |
455 | 295 #if (NGX_PCRE) |
3325 | 296 ngx_http_regex_t *regex; |
396
6f3b20c1ac50
nginx-0.0.7-2004-07-18-23:11:20 import
Igor Sysoev <igor@sysoev.ru>
parents:
395
diff
changeset
|
297 #endif |
6f3b20c1ac50
nginx-0.0.7-2004-07-18-23:11:20 import
Igor Sysoev <igor@sysoev.ru>
parents:
395
diff
changeset
|
298 |
1353 | 299 unsigned noname:1; /* "if () {}" block or limit_except */ |
3731
72cc5b789021
inherit proxy_pass, fastcgi_pass, uwsgi_pass, scgi_pass inside
Igor Sysoev <igor@sysoev.ru>
parents:
3676
diff
changeset
|
300 unsigned lmt_excpt:1; |
1353 | 301 unsigned named:1; |
485 | 302 |
396
6f3b20c1ac50
nginx-0.0.7-2004-07-18-23:11:20 import
Igor Sysoev <igor@sysoev.ru>
parents:
395
diff
changeset
|
303 unsigned exact_match:1; |
467 | 304 unsigned noregex:1; |
305 | |
396
6f3b20c1ac50
nginx-0.0.7-2004-07-18-23:11:20 import
Igor Sysoev <igor@sysoev.ru>
parents:
395
diff
changeset
|
306 unsigned auto_redirect:1; |
2205 | 307 #if (NGX_HTTP_GZIP) |
308 unsigned gzip_disable_msie6:2; | |
3773 | 309 #if (NGX_HTTP_DEGRADATION) |
310 unsigned gzip_disable_degradation:2; | |
311 #endif | |
2205 | 312 #endif |
396
6f3b20c1ac50
nginx-0.0.7-2004-07-18-23:11:20 import
Igor Sysoev <igor@sysoev.ru>
parents:
395
diff
changeset
|
313 |
2027 | 314 ngx_http_location_tree_node_t *static_locations; |
2546
8b9861c2a32f
pclcf->regex_locations are used with PCRE only
Igor Sysoev <igor@sysoev.ru>
parents:
2534
diff
changeset
|
315 #if (NGX_PCRE) |
2027 | 316 ngx_http_core_loc_conf_t **regex_locations; |
2546
8b9861c2a32f
pclcf->regex_locations are used with PCRE only
Igor Sysoev <igor@sysoev.ru>
parents:
2534
diff
changeset
|
317 #endif |
396
6f3b20c1ac50
nginx-0.0.7-2004-07-18-23:11:20 import
Igor Sysoev <igor@sysoev.ru>
parents:
395
diff
changeset
|
318 |
6f3b20c1ac50
nginx-0.0.7-2004-07-18-23:11:20 import
Igor Sysoev <igor@sysoev.ru>
parents:
395
diff
changeset
|
319 /* pointer to the modules' loc_conf */ |
2024 | 320 void **loc_conf; |
44
0e81ac0bb3e2
nginx-0.0.1-2003-01-09-08:36:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
41
diff
changeset
|
321 |
631 | 322 uint32_t limit_except; |
2024 | 323 void **limit_except_loc_conf; |
631 | 324 |
356
2e3cbc1bbe3c
nginx-0.0.7-2004-06-16-19:32:11 import
Igor Sysoev <igor@sysoev.ru>
parents:
346
diff
changeset
|
325 ngx_http_handler_pt handler; |
71
59229033ae93
nginx-0.0.1-2003-04-08-19:40:10 import
Igor Sysoev <igor@sysoev.ru>
parents:
69
diff
changeset
|
326 |
3535
abb3901be800
fix handling an inherited alias in inclusive location
Igor Sysoev <igor@sysoev.ru>
parents:
3484
diff
changeset
|
327 /* location name length for inclusive location with inherited alias */ |
abb3901be800
fix handling an inherited alias in inclusive location
Igor Sysoev <igor@sysoev.ru>
parents:
3484
diff
changeset
|
328 size_t alias; |
577 | 329 ngx_str_t root; /* root, alias */ |
330 ngx_str_t post_action; | |
331 | |
595 | 332 ngx_array_t *root_lengths; |
333 ngx_array_t *root_values; | |
334 | |
589 | 335 ngx_array_t *types; |
336 ngx_hash_t types_hash; | |
337 ngx_str_t default_type; | |
338 | |
663 | 339 off_t client_max_body_size; /* client_max_body_size */ |
2129 | 340 off_t directio; /* directio */ |
3053 | 341 off_t directio_alignment; /* directio_alignment */ |
663 | 342 |
303
00c5660d2707
nginx-0.0.3-2004-04-01-20:20:53 import
Igor Sysoev <igor@sysoev.ru>
parents:
293
diff
changeset
|
343 size_t client_body_buffer_size; /* client_body_buffer_size */ |
362
7650aea1816f
nginx-0.0.7-2004-06-21-19:59:32 import
Igor Sysoev <igor@sysoev.ru>
parents:
356
diff
changeset
|
344 size_t send_lowat; /* send_lowat */ |
391
b670db10cbbd
nginx-0.0.7-2004-07-14-20:01:42 import
Igor Sysoev <igor@sysoev.ru>
parents:
369
diff
changeset
|
345 size_t postpone_output; /* postpone_output */ |
b670db10cbbd
nginx-0.0.7-2004-07-14-20:01:42 import
Igor Sysoev <igor@sysoev.ru>
parents:
369
diff
changeset
|
346 size_t limit_rate; /* limit_rate */ |
2907 | 347 size_t limit_rate_after; /* limit_rate_after */ |
1197 | 348 size_t sendfile_max_chunk; /* sendfile_max_chunk */ |
3178 | 349 size_t read_ahead; /* read_ahead */ |
290
87e73f067470
nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
257
diff
changeset
|
350 |
162
96993d4d5067
nginx-0.0.1-2003-10-28-00:01:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
158
diff
changeset
|
351 ngx_msec_t client_body_timeout; /* client_body_timeout */ |
96
a23d010f356d
nginx-0.0.1-2003-05-27-16:18:54 import
Igor Sysoev <igor@sysoev.ru>
parents:
95
diff
changeset
|
352 ngx_msec_t send_timeout; /* send_timeout */ |
a23d010f356d
nginx-0.0.1-2003-05-27-16:18:54 import
Igor Sysoev <igor@sysoev.ru>
parents:
95
diff
changeset
|
353 ngx_msec_t keepalive_timeout; /* keepalive_timeout */ |
a23d010f356d
nginx-0.0.1-2003-05-27-16:18:54 import
Igor Sysoev <igor@sysoev.ru>
parents:
95
diff
changeset
|
354 ngx_msec_t lingering_time; /* lingering_time */ |
a23d010f356d
nginx-0.0.1-2003-05-27-16:18:54 import
Igor Sysoev <igor@sysoev.ru>
parents:
95
diff
changeset
|
355 ngx_msec_t lingering_timeout; /* lingering_timeout */ |
1652
cc7a7d0b89e8
http resolver and resolver_timeout
Igor Sysoev <igor@sysoev.ru>
parents:
1592
diff
changeset
|
356 ngx_msec_t resolver_timeout; /* resolver_timeout */ |
cc7a7d0b89e8
http resolver and resolver_timeout
Igor Sysoev <igor@sysoev.ru>
parents:
1592
diff
changeset
|
357 |
cc7a7d0b89e8
http resolver and resolver_timeout
Igor Sysoev <igor@sysoev.ru>
parents:
1592
diff
changeset
|
358 ngx_resolver_t *resolver; /* resolver */ |
71
59229033ae93
nginx-0.0.1-2003-04-08-19:40:10 import
Igor Sysoev <igor@sysoev.ru>
parents:
69
diff
changeset
|
359 |
436
9549fc9508e5
nginx-0.0.11-2004-09-23-10:32:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
435
diff
changeset
|
360 time_t keepalive_header; /* keepalive_timeout */ |
9549fc9508e5
nginx-0.0.11-2004-09-23-10:32:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
435
diff
changeset
|
361 |
2888 | 362 ngx_uint_t keepalive_requests; /* keepalive_requests */ |
3793 | 363 ngx_uint_t keepalive_disable; /* keepalive_disable */ |
1806 | 364 ngx_uint_t satisfy; /* satisfy */ |
4042
d9b486dbf7e5
Merge of r3982, r3984, r3985, r3991:
Igor Sysoev <igor@sysoev.ru>
parents:
3793
diff
changeset
|
365 ngx_uint_t lingering_close; /* lingering_close */ |
2361 | 366 ngx_uint_t if_modified_since; /* if_modified_since */ |
4162
fb1375e8b68c
Merging r4036, r4055, r4056, r4057, r4058, r4059, r4060, r4061, r4062, r4063,
Igor Sysoev <igor@sysoev.ru>
parents:
4042
diff
changeset
|
367 ngx_uint_t max_ranges; /* max_ranges */ |
2841
faafc084a7a4
fix client_body_in_file_only type
Igor Sysoev <igor@sysoev.ru>
parents:
2785
diff
changeset
|
368 ngx_uint_t client_body_in_file_only; /* client_body_in_file_only */ |
1806 | 369 |
2845 | 370 ngx_flag_t client_body_in_single_buffer; |
371 /* client_body_in_singe_buffer */ | |
509 | 372 ngx_flag_t internal; /* internal */ |
290
87e73f067470
nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
257
diff
changeset
|
373 ngx_flag_t sendfile; /* sendfile */ |
3052
6060225e9261
FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents:
2979
diff
changeset
|
374 #if (NGX_HAVE_FILE_AIO) |
6060225e9261
FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents:
2979
diff
changeset
|
375 ngx_flag_t aio; /* aio */ |
6060225e9261
FreeBSD and Linux AIO support
Igor Sysoev <igor@sysoev.ru>
parents:
2979
diff
changeset
|
376 #endif |
290
87e73f067470
nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
257
diff
changeset
|
377 ngx_flag_t tcp_nopush; /* tcp_nopush */ |
452 | 378 ngx_flag_t tcp_nodelay; /* tcp_nodelay */ |
346
55e496a8ece3
nginx-0.0.3-2004-06-06-23:49:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
335
diff
changeset
|
379 ngx_flag_t reset_timedout_connection; /* reset_timedout_connection */ |
1804
d457a1576532
several changes in server_name:
Igor Sysoev <igor@sysoev.ru>
parents:
1790
diff
changeset
|
380 ngx_flag_t server_name_in_redirect; /* server_name_in_redirect */ |
521 | 381 ngx_flag_t port_in_redirect; /* port_in_redirect */ |
290
87e73f067470
nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
257
diff
changeset
|
382 ngx_flag_t msie_padding; /* msie_padding */ |
679 | 383 ngx_flag_t msie_refresh; /* msie_refresh */ |
527 | 384 ngx_flag_t log_not_found; /* log_not_found */ |
2261 | 385 ngx_flag_t log_subrequest; /* log_subrequest */ |
679 | 386 ngx_flag_t recursive_error_pages; /* recursive_error_pages */ |
1592 | 387 ngx_flag_t server_tokens; /* server_tokens */ |
3484 | 388 ngx_flag_t chunked_transfer_encoding; /* chunked_transfer_encoding */ |
290
87e73f067470
nginx-0.0.2-2004-03-16-10:10:12 import
Igor Sysoev <igor@sysoev.ru>
parents:
257
diff
changeset
|
389 |
1790
775edc46ee66
ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents:
1772
diff
changeset
|
390 #if (NGX_HTTP_GZIP) |
775edc46ee66
ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents:
1772
diff
changeset
|
391 ngx_flag_t gzip_vary; /* gzip_vary */ |
775edc46ee66
ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents:
1772
diff
changeset
|
392 |
775edc46ee66
ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents:
1772
diff
changeset
|
393 ngx_uint_t gzip_http_version; /* gzip_http_version */ |
775edc46ee66
ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents:
1772
diff
changeset
|
394 ngx_uint_t gzip_proxied; /* gzip_proxied */ |
775edc46ee66
ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents:
1772
diff
changeset
|
395 |
775edc46ee66
ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents:
1772
diff
changeset
|
396 #if (NGX_PCRE) |
775edc46ee66
ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents:
1772
diff
changeset
|
397 ngx_array_t *gzip_disable; /* gzip_disable */ |
775edc46ee66
ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents:
1772
diff
changeset
|
398 #endif |
775edc46ee66
ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents:
1772
diff
changeset
|
399 #endif |
775edc46ee66
ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents:
1772
diff
changeset
|
400 |
176
c0552e5ab567
nginx-0.0.1-2003-11-09-23:03:38 import; separate building
Igor Sysoev <igor@sysoev.ru>
parents:
162
diff
changeset
|
401 ngx_array_t *error_pages; /* error_page */ |
2407 | 402 ngx_http_try_file_t *try_files; /* try_files */ |
158
d377ee423603
nginx-0.0.1-2003-10-24-10:53:41 import
Igor Sysoev <igor@sysoev.ru>
parents:
154
diff
changeset
|
403 |
479 | 404 ngx_path_t *client_body_temp_path; /* client_body_temp_path */ |
405 | |
1454 | 406 ngx_open_file_cache_t *open_file_cache; |
1767
c42431762903
open_file_cache_retest > open_file_cache_valid
Igor Sysoev <igor@sysoev.ru>
parents:
1652
diff
changeset
|
407 time_t open_file_cache_valid; |
1772 | 408 ngx_uint_t open_file_cache_min_uses; |
1454 | 409 ngx_flag_t open_file_cache_errors; |
1457 | 410 ngx_flag_t open_file_cache_events; |
201
267ea1d98683
nginx-0.0.1-2003-11-30-23:03:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
195
diff
changeset
|
411 |
2785
d478379e51ac
*) refactor error_log processing: listen socket log might inherit built-in
Igor Sysoev <igor@sysoev.ru>
parents:
2701
diff
changeset
|
412 ngx_log_t *error_log; |
195
8dee38ea9117
nginx-0.0.1-2003-11-25-23:44:56 import
Igor Sysoev <igor@sysoev.ru>
parents:
190
diff
changeset
|
413 |
589 | 414 ngx_uint_t types_hash_max_size; |
415 ngx_uint_t types_hash_bucket_size; | |
416 | |
2028
bff8689c6953
move configuration phase only field to the end of structure
Igor Sysoev <igor@sysoev.ru>
parents:
2027
diff
changeset
|
417 ngx_queue_t *locations; |
bff8689c6953
move configuration phase only field to the end of structure
Igor Sysoev <igor@sysoev.ru>
parents:
2027
diff
changeset
|
418 |
485 | 419 #if 0 |
396
6f3b20c1ac50
nginx-0.0.7-2004-07-18-23:11:20 import
Igor Sysoev <igor@sysoev.ru>
parents:
395
diff
changeset
|
420 ngx_http_core_loc_conf_t *prev_location; |
485 | 421 #endif |
396
6f3b20c1ac50
nginx-0.0.7-2004-07-18-23:11:20 import
Igor Sysoev <igor@sysoev.ru>
parents:
395
diff
changeset
|
422 }; |
13
2aba961a1d34
nginx-0.0.1-2002-09-16-19:01:44 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
423 |
2aba961a1d34
nginx-0.0.1-2002-09-16-19:01:44 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
424 |
2027 | 425 typedef struct { |
426 ngx_queue_t queue; | |
427 ngx_http_core_loc_conf_t *exact; | |
428 ngx_http_core_loc_conf_t *inclusive; | |
429 ngx_str_t *name; | |
430 u_char *file_name; | |
431 ngx_uint_t line; | |
432 ngx_queue_t list; | |
433 } ngx_http_location_queue_t; | |
434 | |
435 | |
436 struct ngx_http_location_tree_node_s { | |
437 ngx_http_location_tree_node_t *left; | |
438 ngx_http_location_tree_node_t *right; | |
439 ngx_http_location_tree_node_t *tree; | |
440 | |
441 ngx_http_core_loc_conf_t *exact; | |
442 ngx_http_core_loc_conf_t *inclusive; | |
443 | |
444 u_char auto_redirect; | |
445 u_char len; | |
446 u_char name[1]; | |
447 }; | |
448 | |
449 | |
681 | 450 void ngx_http_core_run_phases(ngx_http_request_t *r); |
451 ngx_int_t ngx_http_core_generic_phase(ngx_http_request_t *r, | |
452 ngx_http_phase_handler_t *ph); | |
3634
40e356cf4176
add files missed in the previuos commit
Igor Sysoev <igor@sysoev.ru>
parents:
3632
diff
changeset
|
453 ngx_int_t ngx_http_core_rewrite_phase(ngx_http_request_t *r, |
40e356cf4176
add files missed in the previuos commit
Igor Sysoev <igor@sysoev.ru>
parents:
3632
diff
changeset
|
454 ngx_http_phase_handler_t *ph); |
681 | 455 ngx_int_t ngx_http_core_find_config_phase(ngx_http_request_t *r, |
456 ngx_http_phase_handler_t *ph); | |
457 ngx_int_t ngx_http_core_post_rewrite_phase(ngx_http_request_t *r, | |
458 ngx_http_phase_handler_t *ph); | |
459 ngx_int_t ngx_http_core_access_phase(ngx_http_request_t *r, | |
460 ngx_http_phase_handler_t *ph); | |
461 ngx_int_t ngx_http_core_post_access_phase(ngx_http_request_t *r, | |
462 ngx_http_phase_handler_t *ph); | |
2407 | 463 ngx_int_t ngx_http_core_try_files_phase(ngx_http_request_t *r, |
464 ngx_http_phase_handler_t *ph); | |
681 | 465 ngx_int_t ngx_http_core_content_phase(ngx_http_request_t *r, |
466 ngx_http_phase_handler_t *ph); | |
44
0e81ac0bb3e2
nginx-0.0.1-2003-01-09-08:36:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
41
diff
changeset
|
467 |
2138 | 468 |
469 void *ngx_http_test_content_type(ngx_http_request_t *r, ngx_hash_t *types_hash); | |
201
267ea1d98683
nginx-0.0.1-2003-11-30-23:03:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
195
diff
changeset
|
470 ngx_int_t ngx_http_set_content_type(ngx_http_request_t *r); |
2979
b941147f2b2e
ngx_http_set_exten() is always successful since 0.3.46
Igor Sysoev <igor@sysoev.ru>
parents:
2907
diff
changeset
|
471 void ngx_http_set_exten(ngx_http_request_t *r); |
3632 | 472 ngx_int_t ngx_http_send_response(ngx_http_request_t *r, ngx_uint_t status, |
473 ngx_str_t *ct, ngx_http_complex_value_t *cv); | |
557 | 474 u_char *ngx_http_map_uri_to_path(ngx_http_request_t *r, ngx_str_t *name, |
773 | 475 size_t *root_length, size_t reserved); |
539 | 476 ngx_int_t ngx_http_auth_basic_user(ngx_http_request_t *r); |
1790
775edc46ee66
ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents:
1772
diff
changeset
|
477 #if (NGX_HTTP_GZIP) |
775edc46ee66
ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents:
1772
diff
changeset
|
478 ngx_int_t ngx_http_gzip_ok(ngx_http_request_t *r); |
775edc46ee66
ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents:
1772
diff
changeset
|
479 #endif |
775edc46ee66
ngx_http_gzip_static_module and gzip_disable
Igor Sysoev <igor@sysoev.ru>
parents:
1772
diff
changeset
|
480 |
201
267ea1d98683
nginx-0.0.1-2003-11-30-23:03:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
195
diff
changeset
|
481 |
509 | 482 ngx_int_t ngx_http_subrequest(ngx_http_request_t *r, |
758
86bb73dc8d40
fix <!--#include virtual=... wait="yes" -->
Igor Sysoev <igor@sysoev.ru>
parents:
681
diff
changeset
|
483 ngx_str_t *uri, ngx_str_t *args, ngx_http_request_t **sr, |
777
4ab852b691f5
<!--#include virtual=... set=... -->
Igor Sysoev <igor@sysoev.ru>
parents:
773
diff
changeset
|
484 ngx_http_post_subrequest_t *psr, ngx_uint_t flags); |
356
2e3cbc1bbe3c
nginx-0.0.7-2004-06-16-19:32:11 import
Igor Sysoev <igor@sysoev.ru>
parents:
346
diff
changeset
|
485 ngx_int_t ngx_http_internal_redirect(ngx_http_request_t *r, |
499 | 486 ngx_str_t *uri, ngx_str_t *args); |
1353 | 487 ngx_int_t ngx_http_named_location(ngx_http_request_t *r, ngx_str_t *name); |
488 | |
485 | 489 |
569 | 490 ngx_http_cleanup_t *ngx_http_cleanup_add(ngx_http_request_t *r, size_t size); |
491 | |
44
0e81ac0bb3e2
nginx-0.0.1-2003-01-09-08:36:00 import
Igor Sysoev <igor@sysoev.ru>
parents:
41
diff
changeset
|
492 |
356
2e3cbc1bbe3c
nginx-0.0.7-2004-06-16-19:32:11 import
Igor Sysoev <igor@sysoev.ru>
parents:
346
diff
changeset
|
493 typedef ngx_int_t (*ngx_http_output_header_filter_pt)(ngx_http_request_t *r); |
2e3cbc1bbe3c
nginx-0.0.7-2004-06-16-19:32:11 import
Igor Sysoev <igor@sysoev.ru>
parents:
346
diff
changeset
|
494 typedef ngx_int_t (*ngx_http_output_body_filter_pt) |
499 | 495 (ngx_http_request_t *r, ngx_chain_t *chain); |
346
55e496a8ece3
nginx-0.0.3-2004-06-06-23:49:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
335
diff
changeset
|
496 |
55e496a8ece3
nginx-0.0.3-2004-06-06-23:49:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
335
diff
changeset
|
497 |
356
2e3cbc1bbe3c
nginx-0.0.7-2004-06-16-19:32:11 import
Igor Sysoev <igor@sysoev.ru>
parents:
346
diff
changeset
|
498 ngx_int_t ngx_http_output_filter(ngx_http_request_t *r, ngx_chain_t *chain); |
2e3cbc1bbe3c
nginx-0.0.7-2004-06-16-19:32:11 import
Igor Sysoev <igor@sysoev.ru>
parents:
346
diff
changeset
|
499 ngx_int_t ngx_http_write_filter(ngx_http_request_t *r, ngx_chain_t *chain); |
346
55e496a8ece3
nginx-0.0.3-2004-06-06-23:49:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
335
diff
changeset
|
500 |
55e496a8ece3
nginx-0.0.3-2004-06-06-23:49:18 import
Igor Sysoev <igor@sysoev.ru>
parents:
335
diff
changeset
|
501 |
577 | 502 extern ngx_module_t ngx_http_core_module; |
503 | |
504 extern ngx_uint_t ngx_http_max_module; | |
505 | |
2701 | 506 extern ngx_str_t ngx_http_core_get_method; |
507 | |
577 | 508 |
509 #define ngx_http_clear_content_length(r) \ | |
510 \ | |
511 r->headers_out.content_length_n = -1; \ | |
512 if (r->headers_out.content_length) { \ | |
513 r->headers_out.content_length->hash = 0; \ | |
514 r->headers_out.content_length = NULL; \ | |
515 } | |
516 \ | |
517 #define ngx_http_clear_accept_ranges(r) \ | |
518 \ | |
581 | 519 r->allow_ranges = 0; \ |
577 | 520 if (r->headers_out.accept_ranges) { \ |
2024 | 521 r->headers_out.accept_ranges->hash = 0; \ |
577 | 522 r->headers_out.accept_ranges = NULL; \ |
523 } | |
524 | |
525 #define ngx_http_clear_last_modified(r) \ | |
526 \ | |
527 r->headers_out.last_modified_time = -1; \ | |
528 if (r->headers_out.last_modified) { \ | |
529 r->headers_out.last_modified->hash = 0; \ | |
530 r->headers_out.last_modified = NULL; \ | |
531 } | |
532 | |
4247
b79dbadb3d5e
Merging r4147, r4148, r4149, r4150, r4207:
Igor Sysoev <igor@sysoev.ru>
parents:
4162
diff
changeset
|
533 #define ngx_http_clear_location(r) \ |
b79dbadb3d5e
Merging r4147, r4148, r4149, r4150, r4207:
Igor Sysoev <igor@sysoev.ru>
parents:
4162
diff
changeset
|
534 \ |
b79dbadb3d5e
Merging r4147, r4148, r4149, r4150, r4207:
Igor Sysoev <igor@sysoev.ru>
parents:
4162
diff
changeset
|
535 if (r->headers_out.location) { \ |
b79dbadb3d5e
Merging r4147, r4148, r4149, r4150, r4207:
Igor Sysoev <igor@sysoev.ru>
parents:
4162
diff
changeset
|
536 r->headers_out.location->hash = 0; \ |
b79dbadb3d5e
Merging r4147, r4148, r4149, r4150, r4207:
Igor Sysoev <igor@sysoev.ru>
parents:
4162
diff
changeset
|
537 r->headers_out.location = NULL; \ |
b79dbadb3d5e
Merging r4147, r4148, r4149, r4150, r4207:
Igor Sysoev <igor@sysoev.ru>
parents:
4162
diff
changeset
|
538 } |
b79dbadb3d5e
Merging r4147, r4148, r4149, r4150, r4207:
Igor Sysoev <igor@sysoev.ru>
parents:
4162
diff
changeset
|
539 |
577 | 540 |
13
2aba961a1d34
nginx-0.0.1-2002-09-16-19:01:44 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
541 #endif /* _NGX_HTTP_CORE_H_INCLUDED_ */ |