Re: Использование сокетов в handler или filter модулях
Denis Erygin
erygin at corp.mail.ru
Mon Jun 4 18:39:32 MSD 2007
Есть вопросы по поводу работы с функцией ngx_http_subrequest.
Насколько я понял из прохода дебаггером по модулю
ngx_http_ssi_filter_module,
при вызове ngx_http_subrequest происходит вызов ngx_http_ssi_body_filter
два раза, причем. второй раз ему передается уже ответ (результат
ngx_http_subrequest),
который прогоняется снова через ngx_http_ssi_parse. Это так задумано?
----- Original Message -----
From: "Valery Kholodkov" <valery at grid.net.ru>
To: <nginx-ru at sysoev.ru>
Sent: Monday, June 04, 2007 5:24 PM
Subject: Re: Использование сокетов в handler или filter модулях
Здравствуйте!
> Есть ли уже готовые функции для
> обращений на удаленные сервера через
> сокеты,
> в контексте handler или filter модуля?
Есть -- это ngx_http_subrequest в ngx_http_core_module.h.
> Я прошелся дебаггером по nginx -
> используются неблокирующие сокеты,
> поэтому нужен специфический механизм
> получения данных после запроса,
> но явных функций для этого пока в
> исходниках не нашел.
Посмотрите как в ngx_http_ssi_filter_module.c
происходит обработка контента в
неблокирующем режиме, в особенности
функции ngx_http_ssi_stub_output и ngx_http_ssi_set_variable.
> Зачем это нужно - например добавить в
> ngx_http_ssi_filter_module,
> возможность вставки страниц через
> удаленный вызов:
>
> <!--# include virtual="http://host.com" -->
>
> или получить XML от веб-сервиса..
Насколько я понимаю, это уже
реализовано, см.
http://sysoev.ru/nginx/docs/http/ngx_http_ssi_module.html.
Поправьте меня, если я неправ.
> Насчет интегрирования upstream в handler или
> filter модули тоже неясно.
Это должно помочь следующее
http://www.riceonfire.org/emiller/nginx-modules-guide.html
--
Best regards,
Valery Kholodkov
More information about the nginx-ru
mailing list