- 文档首页
AgentKit
AgentKit
用户指南
网关
附录
函数服务开发规范
函数服务开发规范
使用专属网关自定义服务扩展插件时,您需要自行开发并部署函数服务。函数服务需遵循以下协议规范,否则结果将被视为不合法,并根据“失败时放行”的配置返回 500 错误或跳过该插件继续处理请求。
网关在调用函数服务时,会向函数发送如下结构的请求体:
以下示例表示网关在请求阶段调用函数服务。示例中,请求体body使用 Base64 编码,解码后为{"query":"hello"}。
函数服务处理完成后,需返回如下结构的响应体:
以下示例表示函数服务要求网关修改响应头,并将响应体替换为新的 JSON 内容。示例中,response.body使用 Base64 编码,解码后为{"message":"handled by function"}。
如果仅需要修改Header,可以只返回 response.headers;如果不需要修改Body,可省略response.body。
- 请求头中:method、:path、:authority字段须符合 HTTP 规范。
- 响应头中:status字段须可被解析为 200~599 范围内的整数。
响应的request.headers和响应的response.headers按差分语义修改标头:
- request.body和response.body均使用 Base64 编码。
- 仅当“是否传递 Body”开启且请求体不为空时,请求阶段的自定义服务扩展可修改请求体。
- 仅当“是否传递 Body”开启且响应体不为空时,响应阶段的自定义服务扩展可修改响应体。
请求阶段的函数服务可在响应中携带response字段,触发提前中断并直接返回,不再转发至后端服务。此时:
- response.headers须携带完整响应头,且必须包含合法的:status。
响应阶段的响应中若携带request字段,将被忽略。
最近更新时间:2026.10.26 20:25:54