Mercurial > hg > nginx
annotate src/http/ngx_http_script.h @ 8484:d41a0cafacff quic
HTTP/3: do not call shutdown() for QUIC streams.
Previously, this triggered an alert "shutdown() failed" in error log.
author | Roman Arutyunyan <arut@nginx.com> |
---|---|
date | Wed, 22 Jul 2020 11:03:42 +0300 |
parents | b82162b8496a |
children | 3ab8e1e2f0f7 |
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:
99
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:
99
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 |
4412 | 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:
99
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:
99
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:
99
diff
changeset
|
7 |
99
a059e1aa65d4
nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
8 #ifndef _NGX_HTTP_SCRIPT_H_INCLUDED_ |
a059e1aa65d4
nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
9 #define _NGX_HTTP_SCRIPT_H_INCLUDED_ |
a059e1aa65d4
nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
10 |
a059e1aa65d4
nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
11 |
479 | 12 #include <ngx_config.h> |
13 #include <ngx_core.h> | |
14 #include <ngx_http.h> | |
15 | |
16 | |
507 | 17 typedef struct { |
573 | 18 u_char *ip; |
19 u_char *pos; | |
20 ngx_http_variable_value_t *sp; | |
509 | 21 |
573 | 22 ngx_str_t buf; |
23 ngx_str_t line; | |
509 | 24 |
25 /* the start of the rewritten arguments */ | |
573 | 26 u_char *args; |
507 | 27 |
573 | 28 unsigned flushed:1; |
29 unsigned skip:1; | |
30 unsigned quote:1; | |
1891
782af1038115
length calculation did not take into account escaped symbols in arguments
Igor Sysoev <igor@sysoev.ru>
parents:
1565
diff
changeset
|
31 unsigned is_args:1; |
573 | 32 unsigned log:1; |
509 | 33 |
573 | 34 ngx_int_t status; |
35 ngx_http_request_t *request; | |
507 | 36 } ngx_http_script_engine_t; |
37 | |
38 | |
509 | 39 typedef struct { |
573 | 40 ngx_conf_t *cf; |
41 ngx_str_t *source; | |
509 | 42 |
573 | 43 ngx_array_t **flushes; |
44 ngx_array_t **lengths; | |
45 ngx_array_t **values; | |
509 | 46 |
573 | 47 ngx_uint_t variables; |
48 ngx_uint_t ncaptures; | |
641 | 49 ngx_uint_t captures_mask; |
573 | 50 ngx_uint_t size; |
51 | |
52 void *main; | |
507 | 53 |
573 | 54 unsigned compile_args:1; |
55 unsigned complete_lengths:1; | |
56 unsigned complete_values:1; | |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
57 unsigned zero:1; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
58 unsigned conf_prefix:1; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
59 unsigned root_prefix:1; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
60 |
641 | 61 unsigned dup_capture:1; |
573 | 62 unsigned args:1; |
509 | 63 } ngx_http_script_compile_t; |
64 | |
65 | |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
66 typedef struct { |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
67 ngx_str_t value; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
68 ngx_uint_t *flushes; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
69 void *lengths; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
70 void *values; |
7503
b82162b8496a
Added ngx_http_set_complex_value_size_slot().
Ruslan Ermilov <ru@nginx.com>
parents:
7439
diff
changeset
|
71 |
b82162b8496a
Added ngx_http_set_complex_value_size_slot().
Ruslan Ermilov <ru@nginx.com>
parents:
7439
diff
changeset
|
72 union { |
b82162b8496a
Added ngx_http_set_complex_value_size_slot().
Ruslan Ermilov <ru@nginx.com>
parents:
7439
diff
changeset
|
73 size_t size; |
b82162b8496a
Added ngx_http_set_complex_value_size_slot().
Ruslan Ermilov <ru@nginx.com>
parents:
7439
diff
changeset
|
74 } u; |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
75 } ngx_http_complex_value_t; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
76 |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
77 |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
78 typedef struct { |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
79 ngx_conf_t *cf; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
80 ngx_str_t *value; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
81 ngx_http_complex_value_t *complex_value; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
82 |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
83 unsigned zero:1; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
84 unsigned conf_prefix:1; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
85 unsigned root_prefix:1; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
86 } ngx_http_compile_complex_value_t; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
87 |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
88 |
509 | 89 typedef void (*ngx_http_script_code_pt) (ngx_http_script_engine_t *e); |
90 typedef size_t (*ngx_http_script_len_code_pt) (ngx_http_script_engine_t *e); | |
507 | 91 |
479 | 92 |
507 | 93 typedef struct { |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
94 ngx_http_script_code_pt code; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
95 uintptr_t len; |
507 | 96 } ngx_http_script_copy_code_t; |
97 | |
98 | |
99 typedef struct { | |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
100 ngx_http_script_code_pt code; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
101 uintptr_t index; |
507 | 102 } ngx_http_script_var_code_t; |
103 | |
104 | |
509 | 105 typedef struct { |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
106 ngx_http_script_code_pt code; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
107 ngx_http_set_variable_pt handler; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
108 uintptr_t data; |
637 | 109 } ngx_http_script_var_handler_code_t; |
110 | |
111 | |
112 typedef struct { | |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
113 ngx_http_script_code_pt code; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
114 uintptr_t n; |
509 | 115 } ngx_http_script_copy_capture_code_t; |
116 | |
117 | |
517 | 118 #if (NGX_PCRE) |
119 | |
509 | 120 typedef struct { |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
121 ngx_http_script_code_pt code; |
3325 | 122 ngx_http_regex_t *regex; |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
123 ngx_array_t *lengths; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
124 uintptr_t size; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
125 uintptr_t status; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
126 uintptr_t next; |
509 | 127 |
6861
e4590dfd97ff
Win32: support 64-bit compilation with MSVC.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
128 unsigned test:1; |
e4590dfd97ff
Win32: support 64-bit compilation with MSVC.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
129 unsigned negative_test:1; |
e4590dfd97ff
Win32: support 64-bit compilation with MSVC.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
130 unsigned uri:1; |
e4590dfd97ff
Win32: support 64-bit compilation with MSVC.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
131 unsigned args:1; |
509 | 132 |
133 /* add the r->args to the new arguments */ | |
6861
e4590dfd97ff
Win32: support 64-bit compilation with MSVC.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
134 unsigned add_args:1; |
577 | 135 |
6861
e4590dfd97ff
Win32: support 64-bit compilation with MSVC.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
136 unsigned redirect:1; |
e4590dfd97ff
Win32: support 64-bit compilation with MSVC.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
137 unsigned break_cycle:1; |
509 | 138 |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
139 ngx_str_t name; |
509 | 140 } ngx_http_script_regex_code_t; |
141 | |
142 | |
143 typedef struct { | |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
144 ngx_http_script_code_pt code; |
509 | 145 |
6861
e4590dfd97ff
Win32: support 64-bit compilation with MSVC.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
146 unsigned uri:1; |
e4590dfd97ff
Win32: support 64-bit compilation with MSVC.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
147 unsigned args:1; |
509 | 148 |
149 /* add the r->args to the new arguments */ | |
6861
e4590dfd97ff
Win32: support 64-bit compilation with MSVC.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
150 unsigned add_args:1; |
509 | 151 |
6861
e4590dfd97ff
Win32: support 64-bit compilation with MSVC.
Maxim Dounin <mdounin@mdounin.ru>
parents:
4412
diff
changeset
|
152 unsigned redirect:1; |
509 | 153 } ngx_http_script_regex_end_code_t; |
507 | 154 |
517 | 155 #endif |
156 | |
507 | 157 |
509 | 158 typedef struct { |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
159 ngx_http_script_code_pt code; |
2758 | 160 uintptr_t conf_prefix; |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
161 } ngx_http_script_full_name_code_t; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
162 |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
163 |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
164 typedef struct { |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
165 ngx_http_script_code_pt code; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
166 uintptr_t status; |
3633 | 167 ngx_http_complex_value_t text; |
509 | 168 } ngx_http_script_return_code_t; |
169 | |
170 | |
631 | 171 typedef enum { |
172 ngx_http_script_file_plain = 0, | |
669 | 173 ngx_http_script_file_not_plain, |
174 ngx_http_script_file_dir, | |
175 ngx_http_script_file_not_dir, | |
176 ngx_http_script_file_exists, | |
177 ngx_http_script_file_not_exists, | |
178 ngx_http_script_file_exec, | |
179 ngx_http_script_file_not_exec | |
631 | 180 } ngx_http_script_file_op_e; |
181 | |
182 | |
183 typedef struct { | |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
184 ngx_http_script_code_pt code; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
185 uintptr_t op; |
631 | 186 } ngx_http_script_file_code_t; |
187 | |
188 | |
509 | 189 typedef struct { |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
190 ngx_http_script_code_pt code; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
191 uintptr_t next; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
192 void **loc_conf; |
509 | 193 } ngx_http_script_if_code_t; |
194 | |
195 | |
196 typedef struct { | |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
197 ngx_http_script_code_pt code; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
198 ngx_array_t *lengths; |
515 | 199 } ngx_http_script_complex_value_code_t; |
200 | |
201 | |
202 typedef struct { | |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
203 ngx_http_script_code_pt code; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
204 uintptr_t value; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
205 uintptr_t text_len; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
206 uintptr_t text_data; |
509 | 207 } ngx_http_script_value_code_t; |
208 | |
507 | 209 |
2609
ad99a49cd313
rename ngx_http_scrip_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2587
diff
changeset
|
210 void ngx_http_script_flush_complex_value(ngx_http_request_t *r, |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
211 ngx_http_complex_value_t *val); |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
212 ngx_int_t ngx_http_complex_value(ngx_http_request_t *r, |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
213 ngx_http_complex_value_t *val, ngx_str_t *value); |
7503
b82162b8496a
Added ngx_http_set_complex_value_size_slot().
Ruslan Ermilov <ru@nginx.com>
parents:
7439
diff
changeset
|
214 size_t ngx_http_complex_value_size(ngx_http_request_t *r, |
b82162b8496a
Added ngx_http_set_complex_value_size_slot().
Ruslan Ermilov <ru@nginx.com>
parents:
7439
diff
changeset
|
215 ngx_http_complex_value_t *val, size_t default_value); |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
216 ngx_int_t ngx_http_compile_complex_value(ngx_http_compile_complex_value_t *ccv); |
3761 | 217 char *ngx_http_set_complex_value_slot(ngx_conf_t *cf, ngx_command_t *cmd, |
3756
7224d008faaf
new ngx_http_secure_link_module with secure_link, secure_link_md5, and
Igor Sysoev <igor@sysoev.ru>
parents:
3691
diff
changeset
|
218 void *conf); |
7503
b82162b8496a
Added ngx_http_set_complex_value_size_slot().
Ruslan Ermilov <ru@nginx.com>
parents:
7439
diff
changeset
|
219 char *ngx_http_set_complex_value_size_slot(ngx_conf_t *cf, ngx_command_t *cmd, |
b82162b8496a
Added ngx_http_set_complex_value_size_slot().
Ruslan Ermilov <ru@nginx.com>
parents:
7439
diff
changeset
|
220 void *conf); |
3756
7224d008faaf
new ngx_http_secure_link_module with secure_link, secure_link_md5, and
Igor Sysoev <igor@sysoev.ru>
parents:
3691
diff
changeset
|
221 |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
222 |
3691
55f95e91daed
ngx_http_test_predicates(), ngx_http_set_predicate_slot()
Igor Sysoev <igor@sysoev.ru>
parents:
3633
diff
changeset
|
223 ngx_int_t ngx_http_test_predicates(ngx_http_request_t *r, |
55f95e91daed
ngx_http_test_predicates(), ngx_http_set_predicate_slot()
Igor Sysoev <igor@sysoev.ru>
parents:
3633
diff
changeset
|
224 ngx_array_t *predicates); |
7439
5efc23d83bc2
Added the ngx_http_test_required_predicates() function.
Vladimir Homutov <vl@nginx.com>
parents:
6861
diff
changeset
|
225 ngx_int_t ngx_http_test_required_predicates(ngx_http_request_t *r, |
5efc23d83bc2
Added the ngx_http_test_required_predicates() function.
Vladimir Homutov <vl@nginx.com>
parents:
6861
diff
changeset
|
226 ngx_array_t *predicates); |
3691
55f95e91daed
ngx_http_test_predicates(), ngx_http_set_predicate_slot()
Igor Sysoev <igor@sysoev.ru>
parents:
3633
diff
changeset
|
227 char *ngx_http_set_predicate_slot(ngx_conf_t *cf, ngx_command_t *cmd, |
55f95e91daed
ngx_http_test_predicates(), ngx_http_set_predicate_slot()
Igor Sysoev <igor@sysoev.ru>
parents:
3633
diff
changeset
|
228 void *conf); |
55f95e91daed
ngx_http_test_predicates(), ngx_http_set_predicate_slot()
Igor Sysoev <igor@sysoev.ru>
parents:
3633
diff
changeset
|
229 |
509 | 230 ngx_uint_t ngx_http_script_variables_count(ngx_str_t *value); |
231 ngx_int_t ngx_http_script_compile(ngx_http_script_compile_t *sc); | |
623 | 232 u_char *ngx_http_script_run(ngx_http_request_t *r, ngx_str_t *value, |
233 void *code_lengths, size_t reserved, void *code_values); | |
1565 | 234 void ngx_http_script_flush_no_cacheable_variables(ngx_http_request_t *r, |
573 | 235 ngx_array_t *indices); |
509 | 236 |
237 void *ngx_http_script_start_code(ngx_pool_t *pool, ngx_array_t **codes, | |
238 size_t size); | |
239 void *ngx_http_script_add_code(ngx_array_t *codes, size_t size, void *code); | |
507 | 240 |
509 | 241 size_t ngx_http_script_copy_len_code(ngx_http_script_engine_t *e); |
242 void ngx_http_script_copy_code(ngx_http_script_engine_t *e); | |
243 size_t ngx_http_script_copy_var_len_code(ngx_http_script_engine_t *e); | |
244 void ngx_http_script_copy_var_code(ngx_http_script_engine_t *e); | |
245 size_t ngx_http_script_copy_capture_len_code(ngx_http_script_engine_t *e); | |
246 void ngx_http_script_copy_capture_code(ngx_http_script_engine_t *e); | |
1891
782af1038115
length calculation did not take into account escaped symbols in arguments
Igor Sysoev <igor@sysoev.ru>
parents:
1565
diff
changeset
|
247 size_t ngx_http_script_mark_args_code(ngx_http_script_engine_t *e); |
517 | 248 void ngx_http_script_start_args_code(ngx_http_script_engine_t *e); |
249 #if (NGX_PCRE) | |
509 | 250 void ngx_http_script_regex_start_code(ngx_http_script_engine_t *e); |
251 void ngx_http_script_regex_end_code(ngx_http_script_engine_t *e); | |
517 | 252 #endif |
509 | 253 void ngx_http_script_return_code(ngx_http_script_engine_t *e); |
527 | 254 void ngx_http_script_break_code(ngx_http_script_engine_t *e); |
509 | 255 void ngx_http_script_if_code(ngx_http_script_engine_t *e); |
577 | 256 void ngx_http_script_equal_code(ngx_http_script_engine_t *e); |
257 void ngx_http_script_not_equal_code(ngx_http_script_engine_t *e); | |
631 | 258 void ngx_http_script_file_code(ngx_http_script_engine_t *e); |
515 | 259 void ngx_http_script_complex_value_code(ngx_http_script_engine_t *e); |
509 | 260 void ngx_http_script_value_code(ngx_http_script_engine_t *e); |
261 void ngx_http_script_set_var_code(ngx_http_script_engine_t *e); | |
637 | 262 void ngx_http_script_var_set_handler_code(ngx_http_script_engine_t *e); |
509 | 263 void ngx_http_script_var_code(ngx_http_script_engine_t *e); |
264 void ngx_http_script_nop_code(ngx_http_script_engine_t *e); | |
99
a059e1aa65d4
nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
265 |
a059e1aa65d4
nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
266 |
a059e1aa65d4
nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
267 #endif /* _NGX_HTTP_SCRIPT_H_INCLUDED_ */ |