On Mon, Jul 09, 2007 at 01:53:18PM +0400, Denis Erygin wrote:
> >Это фильтр или модуль ? Если модуль - как завершается ?
> Это фильтр.
>
> >Нужно смотреть на rc == NGX_AGAIN.
>
> NGX_AGAIN вижу, но как правильно отличить в ngx_http_*_body_filter
> режим докачки от ее завершения, ngx_chain_t* in == NULL
> при NGX_AGAIN ?
Каждая часть ответа проходит через фильтр только один раз.
Завершение ответа - buf->last_buf. После этого in == NULL используется
для прокачки частей ответа, застрявших на разных уровнях фильтров.
Как правило, части застревают на уровне write filter.
rc в общем случае нужно транслировать на верхний уровень.
--
Игорь Сысоев
http://sysoev.ru