[ANN] ngx_echo v0.35: ability to POST/PUT local files as subrequest bodies
agentzh
agentzh at gmail.com
Wed Mar 16 05:28:39 MSK 2011
On Wed, Mar 16, 2011 at 6:15 AM, Alexander Kunz <akunz at ntmedia.de> wrote:
>
> Hello,
>
> any chance to debug the -f function? I use the debug log, but get no
> information about the file... /body1
> shows me "test" but /body2 shows nothing... no error, no body content...
>
Because there's no error in your /body2 request, no log is expected to
be printed ;)
> location /body1 {
> echo_subrequest POST /sub -b 'test';
> }
>
> location /body2 {
> echo_subrequest POST /sub -f /tmp/hello.txt;
> }
>
> location /sub {
> echo "body: $echo_request_body";
> }
Why $echo_request_body is empty for /body2? Because "echo_subrequest
/sub -f /tmp/hello.txt" produces a request body that consists of
*file* buffers only (such that nginx does not bother reading the whole
disk file into RAM at once) and $echo_request_body only respects pure
*memory* buffers.
The following example comes from the ngx_echo's test suite:
location /main {
echo_subrequest POST /sub -f html/blah.txt;
}
location /sub {
echo "sub method: $echo_request_method";
# we don't need to call echo_read_client_body explicitly here
echo_request_body;
}
where html/blah.txt contains the following contents:
Hello, world
Then GET /main gives
sub method: POST
Hello, world
Cheers,
-agentzh
More information about the nginx
mailing list