Модули: когда у ngx_http_variable_t срабатывает get_handler и set_handler?

Igor 'Lo' (И.L.) bombsiteunrested at gmail.com
Thu Nov 14 17:15:46 UTC 2013


Есть filter module, в ходе работы которого задается одна переменная
(ngx_http_variable_t).

Причем у переменной определен только get_handler с сигнатурой
that_variable_code(ngx_http_request_t *r,  ngx_http_variable_value_t *v,
uintptr_t data).

Вопрос: что такое set_handler у переменных? Почему, хотя он не задан, в
get'е получается выполнить процессинг данных ngx_http_request_t и присвоить
значение?

Второй вопрос: допустим, я хочу добавить еще одну переменную. Но при этом
получение значений для обеих переменных выполняется один раз (тяжелая
инициализация..). Куда можно запихнуть в ngx_http_request_t свое значение
так, чтобы его смогли забрать оба get_handler'а? (учитывая то, что
http_request_t вроде как может использоваться для нескольких запросов)

Третий вопрос: каким образом можно задать значение строковой переменной,
находясь в header filter и зная имя переменной (строку)?

-- 
С уважением,
Игор
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.nginx.org/pipermail/nginx-ru/attachments/20131114/4ce8e444/attachment.html>


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