Re: добавление переменных

Валентин Бартенев vbart at nginx.com
Wed Apr 3 21:31:38 UTC 2013


On Thursday 04 April 2013 01:04:24 Oleg wrote:
> On Wed, Apr 03, 2013 at 11:24:18PM +0400, Валентин Бартенев wrote:
> > On Wednesday 03 April 2013 23:06:28 Oleg wrote:
> > >   Всем привет.
> > >   
> > >   Хочется добавлять переменные не перед конфигурацией процесса, а
> > > 
> > > в процессе обработки запроса. Такое возможно? Везде, где нашёл описание
> > > создания переменных, написано, что только в preconfiguration можно.
> > > 
> > >   Я так понимаю, что $cookie_* и $http_* динамически создаются?
> > 
> > Советую использовать grep src/.
> 
>   А разве есть какой-то другой способ :-)?
> 
> > У этих переменных отдельные хуки в ngx_http_get_variable():
> > http://trac.nginx.org/nginx/browser/nginx/trunk/src/http/ngx_http_variabl
> > es.c#L569
> 
>   Это я видел.
>   Т.е. цивильного способа, не выходя за пределы модуля, такую переменную
> использовать нет? Надо ngx_http_get_variable править?
> 

А для чего вам ещё одна magic-переменная, если не секрет? Если не выходя за
пределы модуля, то можно исхитриться и сделать две переменные так:

  set $var_key "abc";
  return 200 $var_value;

$var_value будет возвращать значение для имени записанного в $var_key.

Получится некий аналог с более сложным доступом.
 
--
Валентин Бартенев
http://nginx.org/en/donation.html


Подробная информация о списке рассылки nginx-ru