lua
依赖
lua 5.1版本
envoy基于exported symbols编译
支持的功能
随着生产中使用过滤器,预计该列表会随着时间的推移而扩展。API的表面故意保持较小。目的是使脚本极其简单和安全地编写。假定非常复杂或高性能的用例使用本机C ++筛选器API。
在请求流和/或响应流中流式传输时检查标头,正文和尾部。
标题和尾部的修改。
阻塞并缓冲整个请求/响应正文以进行检查。
对上游主机执行出站异步HTTP调用。可以在缓冲正文数据的同时执行此类调用,以便在调用完成时可以修改上游头。
执行直接响应并跳过进一步的过滤器迭代。例如,脚本可以进行上游HTTP身份验证调用,然后直接以403响应代码进行响应。
示例
流句柄API
当Envoy在配置中加载脚本时,它将查找该脚本定义的两个全局函数:
脚本可以定义这两个功能之一或全部。在请求路径中,Envoy将作为协程运行envoy_on_request,并将句柄传递给请求API。 在响应路径中,Envoy将作为协程运行envoy_on_response,将句柄传递给响应API。
Last updated