ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Использование сокетов в handler или filter модулях



Есть вопросы по поводу работы с функцией 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@xxxxxxxxxxx>
To: <nginx-ru@xxxxxxxxx>
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





 




Copyright © Lexa Software, 1996-2009.