Help with chaining of sub-requests

Hi,

I have 3 existing http backend web-services S1, S2 and S3. I am
trying to use nginx for a use-case where i need to first get a “key”
from service S1, use this key along with some input data, to query S2,
and based on S2’s response, query S3. My question is, would
sub-request chaining be the best method to go about this? I can use
the upstream method to connect to S1. Am i doing something wrong, if
I then fire a sub-request (request to S2) from within the content
handler (process header) method registered for this upstream?. How do
i then initiate the sub-request to S3 ?

Any pointers or example that i might be able to follow, for something
like the above?

Thanks,
Ashish

Thank you for the pointers, agentzh!

–Ashish

On Tue, Apr 17, 2012 at 5:51 AM, Ashish S [email protected] wrote:

Any pointers or example that i might be able to follow, for something
like the above?

Regarding chained subrequest implementation, see ngx_echo module’s
echo_subrequest directive for an example:

GitHub - nginxinc/nginx-wiki: ARCHIVED -- Source for the now archived NGINX Wiki section of https://www.nginx.com · GitHub

Also ngx_lua’s ngx.location.capture() and ngx.location.capture_multi()
worth a look too:

GitHub - nginxinc/nginx-wiki: ARCHIVED -- Source for the now archived NGINX Wiki section of https://www.nginx.com · GitHub
GitHub - nginxinc/nginx-wiki: ARCHIVED -- Source for the now archived NGINX Wiki section of https://www.nginx.com · GitHub

Regarding non-subrequest upstream communication, ngx_lua supports the
cosocket API which implements something similar to (but more general
than) ngx_http_upstream:

GitHub - nginxinc/nginx-wiki: ARCHIVED -- Source for the now archived NGINX Wiki section of https://www.nginx.com · GitHub

Hope these helps,
-agentzh