Subrequest and POST

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.

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs