ngx_http_read_client_request_body not always being called?

atrocitus nginx-forum at forum.nginx.org
Mon Aug 15 20:35:56 UTC 2022


(I wanted to post this to the Nginx Development group but it's read only)

I'm developing a module which will receive post data then print out "Done".
"Done" will be printed out regardless if it's a "POST" or a "GET". Issue I'm
having is ngx_http_read_client_request_body is not always calling my call
back, I have to wait a few seconds / resubmit form before it works. Is there
a caching issue I'm not aware of? I'm doing this from bash command line, a
simple CURL command.

Here is what I have in my "cmd_handler":
{
    if (r->method == NGX_HTTP_POST)
        ngx_http_read_client_request_body(r, ngx_http_form_read)

    ngx_str_set(&r->headers_out.content_type, "text/html")
    ///....more out data definitions
    ngx_http_output_filter(r, out);
    ngx_http_finalize(request, r, NGX_DONE)
    return NGX_DONE
}

In my ngx_http_form_read, I have the following: 
{
    #if defined(ngx_version) && nginx_version >= 8011
    r->main->count--;
    #endif 

//form parsing data
   // no return, this is a void?

}

Posted at Nginx Forum: https://forum.nginx.org/read.php?2,294951,294951#msg-294951



More information about the nginx mailing list