Re: PUT и POST module handler

Maxim Dounin mdounin на mdounin.ru
Пн Окт 19 15:11:59 UTC 2015


Hello!

On Mon, Oct 19, 2015 at 03:19:48AM -0400, rba wrote:

> Спасибо за ваш ответ, ряд вопросов прояснились.
> Но вот осуществить возврать в хэндлер при пропуске, в новой итерации
> воркера,
> при выходе из post_handler без финализации [и перемещения позиции буфера] -
> не получается.
> (разумеется это не касается запросов влезающих в один буфер или
> единоразово(блокирующе) читающих цепочку)

В том коде, который вы показали - нет никаких попыток обеспечить 
дальнейшую обработку запроса в случае, если тело запроса было 
обработано не целиком.  После того, как был вызван post-обработчик 
тела - это целиком ваша ответственность.   Просто вернуться из 
функции, не завершив обработку запроса с помощью 
ngx_http_finalize_request() - недостаточно.  Это даст nginx'у 
понять, что обработка запроса не завершена и освобождать его не 
надо, но что именно звать дальше и по каким событиям - знаете 
только вы, и именно вы должны это запрограммировать.

Повторю рекомендацию ознакомиться с кодом модуля upstream.  Там не 
очень просто, но задача вообще не то, чтобы простая.

[...]

-- 
Maxim Dounin
http://nginx.org/



Подробная информация о списке рассылки nginx-ru