Mercurial > hg > nginx
annotate src/http/ngx_http_script.h @ 5334:03ff14058272
Added safety belt for the case of sending header twice.
The aforementioned situation is abnormal per se and as such it now forces
request termination with appropriate error message.
author | Sergey Kandaurov <pluknet@nginx.com> |
---|---|
date | Tue, 30 Jul 2013 15:04:46 +0400 |
parents | d620f497c50f |
children | e4590dfd97ff |
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; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
71 } ngx_http_complex_value_t; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
72 |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
73 |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
74 typedef struct { |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
75 ngx_conf_t *cf; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
76 ngx_str_t *value; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
77 ngx_http_complex_value_t *complex_value; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
78 |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
79 unsigned zero:1; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
80 unsigned conf_prefix:1; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
81 unsigned root_prefix:1; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
82 } ngx_http_compile_complex_value_t; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
83 |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
84 |
509 | 85 typedef void (*ngx_http_script_code_pt) (ngx_http_script_engine_t *e); |
86 typedef size_t (*ngx_http_script_len_code_pt) (ngx_http_script_engine_t *e); | |
507 | 87 |
479 | 88 |
507 | 89 typedef struct { |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
90 ngx_http_script_code_pt code; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
91 uintptr_t len; |
507 | 92 } ngx_http_script_copy_code_t; |
93 | |
94 | |
95 typedef struct { | |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
96 ngx_http_script_code_pt code; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
97 uintptr_t index; |
507 | 98 } ngx_http_script_var_code_t; |
99 | |
100 | |
509 | 101 typedef struct { |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
102 ngx_http_script_code_pt code; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
103 ngx_http_set_variable_pt handler; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
104 uintptr_t data; |
637 | 105 } ngx_http_script_var_handler_code_t; |
106 | |
107 | |
108 typedef struct { | |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
109 ngx_http_script_code_pt code; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
110 uintptr_t n; |
509 | 111 } ngx_http_script_copy_capture_code_t; |
112 | |
113 | |
517 | 114 #if (NGX_PCRE) |
115 | |
509 | 116 typedef struct { |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
117 ngx_http_script_code_pt code; |
3325 | 118 ngx_http_regex_t *regex; |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
119 ngx_array_t *lengths; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
120 uintptr_t size; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
121 uintptr_t status; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
122 uintptr_t next; |
509 | 123 |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
124 uintptr_t test:1; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
125 uintptr_t negative_test:1; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
126 uintptr_t uri:1; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
127 uintptr_t args:1; |
509 | 128 |
129 /* add the r->args to the new arguments */ | |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
130 uintptr_t add_args:1; |
577 | 131 |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
132 uintptr_t redirect:1; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
133 uintptr_t break_cycle:1; |
509 | 134 |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
135 ngx_str_t name; |
509 | 136 } ngx_http_script_regex_code_t; |
137 | |
138 | |
139 typedef struct { | |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
140 ngx_http_script_code_pt code; |
509 | 141 |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
142 uintptr_t uri:1; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
143 uintptr_t args:1; |
509 | 144 |
145 /* add the r->args to the new arguments */ | |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
146 uintptr_t add_args:1; |
509 | 147 |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
148 uintptr_t redirect:1; |
509 | 149 } ngx_http_script_regex_end_code_t; |
507 | 150 |
517 | 151 #endif |
152 | |
507 | 153 |
509 | 154 typedef struct { |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
155 ngx_http_script_code_pt code; |
2758 | 156 uintptr_t conf_prefix; |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
157 } ngx_http_script_full_name_code_t; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
158 |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
159 |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
160 typedef struct { |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
161 ngx_http_script_code_pt code; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
162 uintptr_t status; |
3633 | 163 ngx_http_complex_value_t text; |
509 | 164 } ngx_http_script_return_code_t; |
165 | |
166 | |
631 | 167 typedef enum { |
168 ngx_http_script_file_plain = 0, | |
669 | 169 ngx_http_script_file_not_plain, |
170 ngx_http_script_file_dir, | |
171 ngx_http_script_file_not_dir, | |
172 ngx_http_script_file_exists, | |
173 ngx_http_script_file_not_exists, | |
174 ngx_http_script_file_exec, | |
175 ngx_http_script_file_not_exec | |
631 | 176 } ngx_http_script_file_op_e; |
177 | |
178 | |
179 typedef struct { | |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
180 ngx_http_script_code_pt code; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
181 uintptr_t op; |
631 | 182 } ngx_http_script_file_code_t; |
183 | |
184 | |
509 | 185 typedef struct { |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
186 ngx_http_script_code_pt code; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
187 uintptr_t next; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
188 void **loc_conf; |
509 | 189 } ngx_http_script_if_code_t; |
190 | |
191 | |
192 typedef struct { | |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
193 ngx_http_script_code_pt code; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
194 ngx_array_t *lengths; |
515 | 195 } ngx_http_script_complex_value_code_t; |
196 | |
197 | |
198 typedef struct { | |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
199 ngx_http_script_code_pt code; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
200 uintptr_t value; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
201 uintptr_t text_len; |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
202 uintptr_t text_data; |
509 | 203 } ngx_http_script_value_code_t; |
204 | |
507 | 205 |
2609
ad99a49cd313
rename ngx_http_scrip_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2587
diff
changeset
|
206 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
|
207 ngx_http_complex_value_t *val); |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
208 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
|
209 ngx_http_complex_value_t *val, ngx_str_t *value); |
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
210 ngx_int_t ngx_http_compile_complex_value(ngx_http_compile_complex_value_t *ccv); |
3761 | 211 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
|
212 void *conf); |
7224d008faaf
new ngx_http_secure_link_module with secure_link, secure_link_md5, and
Igor Sysoev <igor@sysoev.ru>
parents:
3691
diff
changeset
|
213 |
2587
8afc4df77ee8
ngx_http_script_flush_complex_value()
Igor Sysoev <igor@sysoev.ru>
parents:
2547
diff
changeset
|
214 |
3691
55f95e91daed
ngx_http_test_predicates(), ngx_http_set_predicate_slot()
Igor Sysoev <igor@sysoev.ru>
parents:
3633
diff
changeset
|
215 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
|
216 ngx_array_t *predicates); |
55f95e91daed
ngx_http_test_predicates(), ngx_http_set_predicate_slot()
Igor Sysoev <igor@sysoev.ru>
parents:
3633
diff
changeset
|
217 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
|
218 void *conf); |
55f95e91daed
ngx_http_test_predicates(), ngx_http_set_predicate_slot()
Igor Sysoev <igor@sysoev.ru>
parents:
3633
diff
changeset
|
219 |
509 | 220 ngx_uint_t ngx_http_script_variables_count(ngx_str_t *value); |
221 ngx_int_t ngx_http_script_compile(ngx_http_script_compile_t *sc); | |
623 | 222 u_char *ngx_http_script_run(ngx_http_request_t *r, ngx_str_t *value, |
223 void *code_lengths, size_t reserved, void *code_values); | |
1565 | 224 void ngx_http_script_flush_no_cacheable_variables(ngx_http_request_t *r, |
573 | 225 ngx_array_t *indices); |
509 | 226 |
227 void *ngx_http_script_start_code(ngx_pool_t *pool, ngx_array_t **codes, | |
228 size_t size); | |
229 void *ngx_http_script_add_code(ngx_array_t *codes, size_t size, void *code); | |
507 | 230 |
509 | 231 size_t ngx_http_script_copy_len_code(ngx_http_script_engine_t *e); |
232 void ngx_http_script_copy_code(ngx_http_script_engine_t *e); | |
233 size_t ngx_http_script_copy_var_len_code(ngx_http_script_engine_t *e); | |
234 void ngx_http_script_copy_var_code(ngx_http_script_engine_t *e); | |
235 size_t ngx_http_script_copy_capture_len_code(ngx_http_script_engine_t *e); | |
236 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
|
237 size_t ngx_http_script_mark_args_code(ngx_http_script_engine_t *e); |
517 | 238 void ngx_http_script_start_args_code(ngx_http_script_engine_t *e); |
239 #if (NGX_PCRE) | |
509 | 240 void ngx_http_script_regex_start_code(ngx_http_script_engine_t *e); |
241 void ngx_http_script_regex_end_code(ngx_http_script_engine_t *e); | |
517 | 242 #endif |
509 | 243 void ngx_http_script_return_code(ngx_http_script_engine_t *e); |
527 | 244 void ngx_http_script_break_code(ngx_http_script_engine_t *e); |
509 | 245 void ngx_http_script_if_code(ngx_http_script_engine_t *e); |
577 | 246 void ngx_http_script_equal_code(ngx_http_script_engine_t *e); |
247 void ngx_http_script_not_equal_code(ngx_http_script_engine_t *e); | |
631 | 248 void ngx_http_script_file_code(ngx_http_script_engine_t *e); |
515 | 249 void ngx_http_script_complex_value_code(ngx_http_script_engine_t *e); |
509 | 250 void ngx_http_script_value_code(ngx_http_script_engine_t *e); |
251 void ngx_http_script_set_var_code(ngx_http_script_engine_t *e); | |
637 | 252 void ngx_http_script_var_set_handler_code(ngx_http_script_engine_t *e); |
509 | 253 void ngx_http_script_var_code(ngx_http_script_engine_t *e); |
254 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
|
255 |
a059e1aa65d4
nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
256 |
a059e1aa65d4
nginx-0.0.1-2003-06-02-19:24:30 import
Igor Sysoev <igor@sysoev.ru>
parents:
diff
changeset
|
257 #endif /* _NGX_HTTP_SCRIPT_H_INCLUDED_ */ |