Тело подзапроса при ошибке

arut at qip.ru arut at qip.ru
Thu Oct 11 15:45:33 UTC 2012


Добрый день.

Обнаружил забавный и печальный факт при попытке обработать структуру, с 
описанием ошибки от бекенда.

При выполнении подзапроса (ngx_http_subrequest) с 
флагом NGX_HTTP_SUBREQUEST_IN_MEMORY
тело результата не возвращается в случае ошибки. Оно возвращается только 
лишь в случае успешного завершения подзапроса.

Не очень понятно, какая логика стоит за таким поведением. Может быть 
стоит сделать его опциональным?


--
Роман


PS: Собственно, код, который это делает:
nginx_http_upstream.c:1639

if (r->subrequest_in_memory) {
     u->buffer.last = u->buffer.pos;
}




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