前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >apisix core.request的使用

apisix core.request的使用

作者头像
空盒子里的巧克力糖
发布2023-02-27 14:01:24
9980
发布2023-02-27 14:01:24
举报
文章被收录于专栏:技术狂想

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"等。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-01-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档