nginx filters programming
Igor Sysoev
is at rambler-co.ru
Fri Dec 23 13:22:47 MSK 2005
On Fri, 23 Dec 2005, Alexey N. Kovyrin wrote:
> Сел писать модуль для nginx и решил начать с того, что казалось попроще :-) В
> итоге, изрядно помучавшись, написал фильтр для добавления баннерного кода в
> начало и в конец страницы... Но не уверен, что правильно понимаю
> технологию.... Потому пара вопросов к тем, кто разбирается во внутренностях
> nginx:
>
> 1) Можно ли, чтобы в буфере, созданный через ngx_calloc_buf(r->pool), b->pos
> указывал на мой статический буффер? Я так понял, что b->memory = 1 для этого
> и придумано...
Да.
> 2) Какие подводные камни могут быть при простом добавлении контента вот в
> таком виде (да и вообще, правилен ли подход)? :
>
> ngx_chain_t head, tail, *cur;
> ...
> head.next = in;
> ...
> cur = in;
> while (cur->next) cur = cur->next;
> cur->next = &tail;
> cur->buf->last_buf = 0;
> tail->buf->last_buf = 1;
>
> return ngx_http_next_body_filter(r, &head);
Подход правильный. А ничего, что код будет добавляться после </html> ?
Игорь Сысоев
http://sysoev.ru
More information about the nginx-ru
mailing list