alr> Что почтенная публика (в первую очередь Alex) скажет по этому поводу?
alr> Это все чушь или здесь есть зерно истины?
Может мужик и правее меня, не знаю. Моя точка зрения такова:
- есть функции ap_r* (puts/printf/write), которые стандартные модули зовут на
этапе выдачи контента клиенту (после заголовков и подобного). Было бы
хорошо, если бы все 3rd-party брали бы пример с modules/standard/*.c :)
- функции ap_b* (ap_bwrite в нашем случае) - это более низкий уровень, они
используются и для выдачи контента и для выдачи загловков и так далее.
Однако при выдаче заголовков у нас одна перекодировка (=AA в =BB),
при выдаче контента - другая. Таким образом, придется каким-то образом
отслеживать контекст в котором вызвана ap_bwrite. В случае 3rd-party
модулей это ведет к тому, что со многими из них придется разбираться отдельно.
Придется также отслеживать все создания BUFF*, дабы их
правильно проинициализировать. А я не уверен, что это всегда возможно.
Тогда как request_rec у текущего реквеста гарантировано одна и создается
самим апачем.
А несовместимость в API у нас только одна - vbprintf супротив специального
моего charset_vbprintf (который отличается именно одним лишним параметром).
Буду благодарен, если это переведут и зашлют автору mod_fcgi. А вот apache-team
меня игнорирует. Сейчас вот сделаю доклад и разгоню студентов по случаю сессии
и попробую еще раз.
С уважением,Alex Tutubalin
--- GoldED 2.42.G1114+
"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.