Hi,
I’m writing code, which making decision to accept or not rest of request
in NGINX. For that I’ve created 2 modules, one subrequest module,
another one accepting “client_max_body_size_var”.
Everything works fine, except POST data, I can get result of subrequest
only when POST finished,
can I get subrequest data before accepting or declining request_body?
Regards
Roman V.
Hi,
Whan to add that fixed it by removing all headers from main request.
sr->headers_in.headers.part.nelts=0;
Is it correct? Or exists more clear way to do that?
On 06/14/2011 04:35 PM, Roman V. wrote:
Hi,
Whan to add that fixed it by removing all headers from main request.
Sorry, removing from subrequest.
Hello!
On Tue, Jun 14, 2011 at 04:37:08PM -0700, Roman V. wrote:
On 06/14/2011 04:35 PM, Roman V. wrote:
Hi,
Whan to add that fixed it by removing all headers from main request.
Sorry, removing from subrequest.
sr->headers_in.headers.part.nelts=0;
Is it correct? Or exists more clear way to do that?
This isn’t correct (in both meanings: it doesn’t correctly remove
headers from subrequest and not a correct way to prevent body from
being read before subrequest).
I would recommend adding fake body to subrequest instead, see
example here:
http://mdounin.ru/hg/ngx_http_auth_request_module/file/a29d74804ff1/ngx_http_auth_request_module.c#l193
Note that it may be also needed to instruct backend to not expect
body, i.e. if you proxy_pass such subrequest you should either use
proxy_pass_request_headers off;
or
proxy_set_header Content-Length "";
Maxim D.
Thank you,
it was very helpful.