IS> On Wed, 6 Feb 2002, Sergey Gershtein wrote:
>> Возникла потребность сделать следующее. Модуль apache делает
>> внутренний subrequest на заданный URI и предпринимает те или иные
>> действия в зависимости от результата. Фокус в том, что этот самый
>> subrequest обрабатывается чем-то внешним (например, cgi-скриптом).
...
6 февраля 2002 г. в 17:23 Игорь Сысоев писал:
IS> Стандартными средствами - никак. Но можно сделать, как делает mod_gzip -
IS> перенаправить вывод во временный файл.
IS> Делаем ap_sub_req_lookup_uri(), дискриптор временного файла
IS> записываем в sub_req->connection->client->fd, предварительно сохранив старое
IS> значение. Выполняем ap_run_sub_req(). Востанавливаем старый дискриптор.
Спасибо, это уже вариант! А если, скажем, я готов проигнорировать тело
ответа, мне нужно лишь проанализировать его http-заголовки? В конце
концов внешнему обработчику нет разницы, давать ответ в теле или в
заголовках. Можно обойтись без временного файла?
Допустим я в sub_req->connection->client->fd загоняю дескриптор
/dev/null, я смогу получить доступ к заголовкам ответа через
ap_table_get(sub_req->headers_out,"xxx") ? Этого было бы достаточно.
На самом деле таким экстравагантным способом модуль должен получить
ответ (да/нет) от некоторого внешнего скрипта (cgi/php и т.п.). Может
быть есть другие более правильные подходы к организации подобного
взаимодействия?
С уважением,
Сергей Герштейн
--
телекоммуникационная компания Урал Релком
тел. (3432) 776440, 598721, факс 594956
mailto:sg@xxxxxhttp://ur.ruhttp://e1.ruhttp://uralweb.ru
=============================================================================
= Apache-Talk@xxxxxxxxxxxxx mailing list =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =
"Russian Apache" includes software developed
by the Apache Group for use in the Apache HTTP server project
(http://www.apache.org/) See
Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C)
1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.