nginx filters programming

Alexey N. Kovyrin alexey at kovyrin.net
Fri Dec 23 12:57:56 MSK 2005


Добрый день,

Сел писать модуль для 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);

-- 
/Scoundrel    [http://kovyrin.info]







More information about the nginx-ru mailing list