Есть 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 и зная имя
переменной (строку)?
--
С уважением,
Игор