]> git.kaiwu.me - nginx.git/commitdiff
r1351 merge:
authorIgor Sysoev <igor@sysoev.ru>
Sun, 29 Jul 2007 18:55:24 +0000 (18:55 +0000)
committerIgor Sysoev <igor@sysoev.ru>
Sun, 29 Jul 2007 18:55:24 +0000 (18:55 +0000)
allow to set $args

src/http/ngx_http_variables.c

index af54d29b003362d5c52a0e5907862ba86cae51da..d693731df300d24bfd011e21d580da516999f86c 100644 (file)
@@ -13,6 +13,8 @@
 
 static ngx_int_t ngx_http_variable_request(ngx_http_request_t *r,
     ngx_http_variable_value_t *v, uintptr_t data);
+static void ngx_http_variable_request_set(ngx_http_request_t *r,
+    ngx_http_variable_value_t *v, uintptr_t data);
 static void ngx_http_variable_request_set_size(ngx_http_request_t *r,
     ngx_http_variable_value_t *v, uintptr_t data);
 static ngx_int_t ngx_http_variable_header(ngx_http_request_t *r,
@@ -155,9 +157,11 @@ static ngx_http_variable_t  ngx_http_core_variables[] = {
       offsetof(ngx_http_request_t, args),
       NGX_HTTP_VAR_NOCACHABLE, 0 },
 
-    { ngx_string("args"), NULL, ngx_http_variable_request,
+    { ngx_string("args"),
+      ngx_http_variable_request_set,
+      ngx_http_variable_request,
       offsetof(ngx_http_request_t, args),
-      NGX_HTTP_VAR_NOCACHABLE, 0 },
+      NGX_HTTP_VAR_CHANGABLE|NGX_HTTP_VAR_NOCACHABLE, 0 },
 
     { ngx_string("request_filename"), NULL,
       ngx_http_variable_request_filename, 0,
@@ -500,6 +504,19 @@ ngx_http_variable_request(ngx_http_request_t *r, ngx_http_variable_value_t *v,
 }
 
 
+static void
+ngx_http_variable_request_set(ngx_http_request_t *r,
+    ngx_http_variable_value_t *v, uintptr_t data)
+{
+    ngx_str_t  *s;
+
+    s = (ngx_str_t *) ((char *) r + data);
+
+    s->len = v->len;
+    s->data = v->data;
+}
+
+
 static void
 ngx_http_variable_request_set_size(ngx_http_request_t *r,
     ngx_http_variable_value_t *v, uintptr_t data)