Mercurial > hg > nginx-vendor-0-5
comparison src/http/ngx_http_script.h @ 64:5db440287648 NGINX_0_1_32
nginx 0.1.32
*) Bugfix: the arguments were omitted in the redirects, issued by the
"rewrite" directive; bug appeared in 0.1.29.
*) Feature: the "if" directive supports the captures in regular
expressions.
*) Feature: the "set" directive supports the variables and the captures
of regular expressions.
*) Feature: the "X-Accel-Redirect" response header line is supported in
proxy and FastCGI mode.
author | Igor Sysoev <http://sysoev.ru> |
---|---|
date | Thu, 19 May 2005 00:00:00 +0400 |
parents | b55cbf18157e |
children | 818201e5a553 |
comparison
equal
deleted
inserted
replaced
63:e42867135781 | 64:5db440287648 |
---|---|
17 u_char *ip; | 17 u_char *ip; |
18 u_char *pos; | 18 u_char *pos; |
19 ngx_http_variable_value_t *sp; | 19 ngx_http_variable_value_t *sp; |
20 | 20 |
21 ngx_str_t buf; | 21 ngx_str_t buf; |
22 ngx_str_t *line; | 22 ngx_str_t line; |
23 | 23 |
24 /* the start of the rewritten arguments */ | 24 /* the start of the rewritten arguments */ |
25 u_char *args; | 25 u_char *args; |
26 | 26 |
27 unsigned skip:1; | 27 unsigned skip:1; |
28 unsigned quote:1; | 28 unsigned quote:1; |
29 unsigned log:1; | 29 unsigned log:1; |
30 | 30 |
31 int *captures; | 31 int *captures; |
32 ngx_uint_t ncaptures; | |
32 | 33 |
33 ngx_int_t status; | 34 ngx_int_t status; |
34 ngx_http_request_t *request; | 35 ngx_http_request_t *request; |
35 } ngx_http_script_engine_t; | 36 } ngx_http_script_engine_t; |
36 | 37 |
128 } ngx_http_script_if_code_t; | 129 } ngx_http_script_if_code_t; |
129 | 130 |
130 | 131 |
131 typedef struct { | 132 typedef struct { |
132 ngx_http_script_code_pt code; | 133 ngx_http_script_code_pt code; |
134 ngx_array_t *lengths; | |
135 } ngx_http_script_complex_value_code_t; | |
136 | |
137 | |
138 typedef struct { | |
139 ngx_http_script_code_pt code; | |
133 uintptr_t value; | 140 uintptr_t value; |
134 uintptr_t text_len; | 141 uintptr_t text_len; |
135 uintptr_t text_data; | 142 uintptr_t text_data; |
136 } ngx_http_script_value_code_t; | 143 } ngx_http_script_value_code_t; |
137 | 144 |
153 void ngx_http_script_regex_end_code(ngx_http_script_engine_t *e); | 160 void ngx_http_script_regex_end_code(ngx_http_script_engine_t *e); |
154 void ngx_http_script_copy_capture_code(ngx_http_script_engine_t *e); | 161 void ngx_http_script_copy_capture_code(ngx_http_script_engine_t *e); |
155 void ngx_http_script_start_args_code(ngx_http_script_engine_t *e); | 162 void ngx_http_script_start_args_code(ngx_http_script_engine_t *e); |
156 void ngx_http_script_return_code(ngx_http_script_engine_t *e); | 163 void ngx_http_script_return_code(ngx_http_script_engine_t *e); |
157 void ngx_http_script_if_code(ngx_http_script_engine_t *e); | 164 void ngx_http_script_if_code(ngx_http_script_engine_t *e); |
165 void ngx_http_script_complex_value_code(ngx_http_script_engine_t *e); | |
158 void ngx_http_script_value_code(ngx_http_script_engine_t *e); | 166 void ngx_http_script_value_code(ngx_http_script_engine_t *e); |
159 void ngx_http_script_set_var_code(ngx_http_script_engine_t *e); | 167 void ngx_http_script_set_var_code(ngx_http_script_engine_t *e); |
160 void ngx_http_script_var_code(ngx_http_script_engine_t *e); | 168 void ngx_http_script_var_code(ngx_http_script_engine_t *e); |
161 void ngx_http_script_nop_code(ngx_http_script_engine_t *e); | 169 void ngx_http_script_nop_code(ngx_http_script_engine_t *e); |
162 | 170 |