Valery Kholodkov
November 30, 2009 06:10AM
----- Alexandre Kalendarev <akalend@mail.ru> wrote:
> Валерий,
>
> а какой выход?
> как дождаться чтоб принять оставшуюся часть
>
> да, судя по логам:
> r->request_body->buf->start=r->request_body->buf->pos =r->request_body->buf->last

Зависит от хэндлера.

В content-хэндлерах так:

rc = ngx_http_read_client_request_body(r, <хэндлер тела>);

if (rc >= NGX_HTTP_SPECIAL_RESPONSE) {
return rc;
}

return NGX_DONE;

В хэндлерах фаз так:

if(r->request_body == NULL) {
rc = ngx_http_read_client_request_body(r, <хэндлер тела>);

if (rc >= NGX_HTTP_SPECIAL_RESPONSE) {
return rc;
}

return NGX_DONE;
}

// Всё ещё принимаем тело?
if(r->request_body->rest) {
return NGX_DONE;
}

[.. в этом месте тело полностью принято ..]

Хэндлер тела должен завершить запрос или возобновить хэндлер фазы, иначе запрос зависнет. Приблизительно так:

static /* или нет static */ void
хэндлер_тела(ngx_http_request_t *r)
{
ngx_int_t rc;

[.. в этом месте тело полностью принято ..]

rc = вызвать_хэндлер_фазы(r);

if (rc >= NGX_HTTP_SPECIAL_RESPONSE) {
ngx_http_finalize_request(r, rc);
}
}

--
Regards,
Valery Kholodkov

_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru
Subject Author Posted

обработка POST & NGX_AGAIN

akalend November 30, 2009 04:28AM

Re: обработка POST & NGX_AGAIN

Valery Kholodkov November 30, 2009 05:20AM

Re[2]: обработка POST & NGX_AGAIN

akalend November 30, 2009 05:50AM

Re: Re[2]: обработка POST & NGX_AGAIN

Valery Kholodkov November 30, 2009 06:10AM

Re[4]: обработка POST & NGX_AGAIN

akalend November 30, 2009 08:02AM

Re: Re[4]: обработка POST & NGX_AGAIN

Valery Kholodkov November 30, 2009 08:42AM

Re[6]: обработка POST & NGX_AGAIN

akalend November 30, 2009 08:48AM

Re[6]: обработка POST & NGX_AGAIN

akalend November 30, 2009 08:56AM

Re: Re[4]: обработка POST & NGX_AGAIN

Valery Kholodkov November 30, 2009 08:48AM

Re[6]: обработка POST & NGX_AGAIN

akalend November 30, 2009 08:50AM

Re[6]: обработка POST & NGX_AGAIN

akalend December 01, 2009 02:34AM

Re[7]: обработка POST & NGX_AGAIN

akalend December 01, 2009 04:20AM

скрыть заголовок Server

akalend December 09, 2009 06:00AM

Re: скрыть заголовок Server

Peter Vereshagin December 09, 2009 06:14AM

Re[2]: скрыть заголовок Server

akalend December 09, 2009 06:24AM

Re: скрыть заголовок Server

Евгений Девятых December 09, 2009 06:28AM

Re[2]: скрыть заголовок Server

akalend December 09, 2009 07:56AM

Re: Re[2]: скрыть заголовок Server

Boris Dolgov December 09, 2009 08:20AM

Re: Re[2]: скрыть заголовок Server

Alex, the Marrch Ca'at December 09, 2009 08:28AM

Re: обработка POST & NGX_AGAIN

Igor Sysoev November 30, 2009 05:52AM

Re[2]: обработка POST & NGX_AGAIN

akalend November 30, 2009 06:14AM



Sorry, only registered users may post in this forum.

Click here to login

Online Users

Guests: 321
Record Number of Users: 8 on April 13, 2023
Record Number of Guests: 421 on December 02, 2018
Powered by nginx      Powered by FreeBSD      PHP Powered      Powered by MariaDB      ipv6 ready