openresty ngx_lua子请求
子请求
主请求、子请求
# 主请求
* http请求,从nginx外部进行反问
# 子请求
* 从nginx内部发起,不是外部的http请求,
* 将主请求分解为多个子请求,向指定的location发起访问,最后将结果汇总
ngx.location.capture:单一子请求
语法格式:res = ngx.location.capture(uri, options?)
环境:rewrite_by_lua*、access_by_lua*、content_by_lua*
# res:子请求返回结果,为table类型
* res.status:子请求的http响应状态
* res.header:子请求接收到的响应头,为table类型
* res.body:子请求接收到的响应体,数据可能会被截断,为table类型
* res.truncated:子请求是否截断,如果截断一般是由客户端连接断开、子请求超时导致
# options:请求参数,为table类型
* method:请求方法,可选值:ngx.HTTP_GET、ngx.HTTP_POST、ngx.HTTP_PUT、
ngx.HTTP_HEAD、ngx.HTTP_DELETE、ngx.HTTP_OPTIONS
* args:请求路径参数,如:args={a=1, b=2},<==> uri?a=1&b=2
* body:请求体,如:body = "gtlx"
* copy_all_args=true&#x