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