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

Alexandre Kalendarev akalend на mail.ru
Вт Дек 1 10:32:50 MSK 2009


сделал так, все работает, проходит тестирование:

// хандленр фазы
ngx_http_memcacheset_phase_handler( ngx_http_request_t *r ){
      ngx_init_t rc=NGX_OK;

     if(r->request_body == NULL) {
         rc = ngx_http_read_client_request_body(r, ngx_http_body_handler);

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

         return NGX_DONE;
     }

     if(r->request_body->rest) {
         return NGX_DONE;
     }
     
     return rc;
} // end phase handler

//боди хандлер 
ngx_http_memcacheset_body_handler(  ngx_http_request_t *r ){
 
     ngx_int_t rc;

     rc = ngx_http_memcacheset_phase_handler(r);

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

    ngx_http_finalize_request(r, 0);

 }


// контент хандлер
ngx_http_memcacheset_handler(  ngx_http_request_t *r ){

....

r->request_body_in_file_only = 0;
r->request_body_in_single_buf=1;

rc = ngx_http_read_client_request_body( r, ngx_http_memcacheset_body_handler);

иногда rc=NGX_AGAIN
}


Спасибо Валерию Холодкову за советы



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