# HG changeset patch # User Igor Sysoev # Date 1222780634 0 # Node ID 6223d5a9e87ff8a7be7a1b577e42f6a8315ddc40 # Parent 763c89919807f13d68af23f5a1be05cab0f5729b back out $random_index variable diff --git a/src/http/modules/ngx_http_random_index_module.c b/src/http/modules/ngx_http_random_index_module.c --- a/src/http/modules/ngx_http_random_index_module.c +++ b/src/http/modules/ngx_http_random_index_module.c @@ -19,11 +19,10 @@ typedef struct { static ngx_int_t ngx_http_random_index_error(ngx_http_request_t *r, ngx_dir_t *dir, ngx_str_t *name); +static ngx_int_t ngx_http_random_index_init(ngx_conf_t *cf); static void *ngx_http_random_index_create_loc_conf(ngx_conf_t *cf); static char *ngx_http_random_index_merge_loc_conf(ngx_conf_t *cf, void *parent, void *child); -static ngx_int_t ngx_http_random_index_add_variable(ngx_conf_t *cf); -static ngx_int_t ngx_http_random_index_init(ngx_conf_t *cf); static ngx_command_t ngx_http_random_index_commands[] = { @@ -40,7 +39,7 @@ static ngx_command_t ngx_http_random_in static ngx_http_module_t ngx_http_random_index_module_ctx = { - ngx_http_random_index_add_variable, /* preconfiguration */ + NULL, /* preconfiguration */ ngx_http_random_index_init, /* postconfiguration */ NULL, /* create main configuration */ @@ -70,10 +69,6 @@ ngx_module_t ngx_http_random_index_modu }; -static ngx_str_t ngx_http_random_index = ngx_string("random_index"); -static ngx_int_t ngx_random_index_variable_index; - - static ngx_int_t ngx_http_random_index_handler(ngx_http_request_t *r) { @@ -85,7 +80,6 @@ ngx_http_random_index_handler(ngx_http_r ngx_dir_t dir; ngx_uint_t n, level; ngx_array_t names; - ngx_http_variable_value_t *v; ngx_http_random_index_loc_conf_t *rlcf; if (r->uri.data[r->uri.len - 1] != '/') { @@ -263,14 +257,6 @@ ngx_http_random_index_handler(ngx_http_r last = ngx_copy(uri.data, r->uri.data, r->uri.len); ngx_memcpy(last, name[n].data, name[n].len); - v = &r->variables[ngx_random_index_variable_index]; - - v->len = name[n].len; - v->valid = 1; - v->no_cacheable = 0; - v->not_found = 0; - v->data = name[n].data; - return ngx_http_internal_redirect(r, &uri, &r->args); } @@ -288,22 +274,6 @@ ngx_http_random_index_error(ngx_http_req } -static ngx_int_t -ngx_http_random_index_variable(ngx_http_request_t *r, - ngx_http_variable_value_t *v, uintptr_t data) -{ - /* - * the "random_index" directive stores index file name directly inside - * r->variables[] because request context is not preserved while - * an internal redirection - */ - - v->not_found = 1; - - return NGX_OK; -} - - static void * ngx_http_random_index_create_loc_conf(ngx_conf_t *cf) { @@ -333,31 +303,6 @@ ngx_http_random_index_merge_loc_conf(ngx static ngx_int_t -ngx_http_random_index_add_variable(ngx_conf_t *cf) -{ - ngx_int_t index; - ngx_http_variable_t *var; - - var = ngx_http_add_variable(cf, &ngx_http_random_index, - NGX_HTTP_VAR_NOHASH); - if (var == NULL) { - return NGX_ERROR; - } - - index = ngx_http_get_variable_index(cf, &ngx_http_random_index); - if (index == NGX_ERROR) { - return NGX_ERROR; - } - - ngx_random_index_variable_index = index; - - var->get_handler = ngx_http_random_index_variable; - - return NGX_OK; -} - - -static ngx_int_t ngx_http_random_index_init(ngx_conf_t *cf) { ngx_http_handler_pt *h;