apisix core.request的使用

core.request是用来获取当前请求客户端和访问信息的工具
1、core.request.headers(ctx)
返回当前请求的所有请求头
2、core.request.header(ctx, name)
返回当前请求的指定请求头
3、core.request.set_header(ctx, header_name, header_value)
用于向当前请求头中添加header,这样在转发到上游的服务中就会带有该header。
4、core.request.get_remote_client_ip(ctx)
获取真正的客户端的ip。和get_ip()相比,如果下游有负载均衡也会忽略。
5、core.request.get_remote_client_port(ctx)
获取真正的客户端的端口。
6、core.request.get_uri_args(ctx)
封装了openresty的ngx.req.get_uri_args用于获取uri的请求参数。比如/foo?a=3&b=4中的参数"a"和"b"。
7、core.request.set_uri_args(ctx, args)
封装了openresty的ngx.req.set_uri_args用于添加或修改请求参数到上游服务。

8、core.request..get_post_args(ctx)
封装了openresty的ngx.req.get_post_args用于获取post的请求参数。

9、core.request.get_body(max_size, ctx)
封装了openresty的ngx.req.get_post_args和ngx.req.get_body_file的组合,用于获取post的请求参数。当get_post_args获取不到时用get_body_file获取。max_size用于设置获取的最大值,当请求数据超过max_size时,将返回err。
10、core.request.get_scheme(ctx)
返回请的scheme 也就是"http"还是”https“
11、core.request.get_ip(ctx)
返回直接连接到 APISIX 的客户端的远程地址。所以如果下游客户端和APISIX之间有一个负载均衡,此函数将返回负载均衡器的 ip。
12、core.request.get_host(ctx)
获取访问的域名。
13、core.request.get_port(ctx)
获取访问的端口。
14、core.request.get_http_version()
封装了openresty的ngx.req.http_version。返回http版本,目前的可能值是0.9 、1.0 、1.1 和 2。
15、core.request.get_method()
封装了openresty的ngx.req.get_method。返回请求的method。比如"post"、"get"、"put"等。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容