[ANN] ngx_echo v0.35: ability to POST/PUT local files as subrequest bodies

Alexander Kunz akunz at ntmedia.de
Wed Mar 16 10:22:45 MSK 2011


Thanks so much for your detailed answer. Works like a charm :)

But i see i can't access this from LUA?

 > The |ngx.location.capture| and |ngx.location.capture_multi| Lua 
methods cannot
 > capture locations configured by ngx_echo module's |echo_location|, 
|echo_location_async|, |
 > echo_subrequest|, or |echo_subrequest_async| directives. This won't 
be fixed in the future due to technical problems :)

but is it possible to get

echo_request_body

directly in nginx LUA?

Thanks.

Alexander



On 16.03.2011 03:28, agentzh wrote:
> 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
>
> _______________________________________________
> nginx mailing list
> nginx at nginx.org
> http://nginx.org/mailman/listinfo/nginx

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://nginx.org/pipermail/nginx/attachments/20110316/4e49efa9/attachment.html>


More information about the nginx mailing list