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