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