Skip to content

reqScript

在请求阶段通过 JavaScript 脚本动态生成规则,实现复杂请求处理逻辑。脚本可以访问请求上下文信息,并动态生成匹配规则。

规则语法

txt
pattern reqScript://value [filters...]
参数描述详细文档
pattern匹配请求 URL 的表达式匹配模式文档
value生成规则的 JS 脚本,支持以下类型:
• 目录/文件路径
• 远程 URL
• 内联/内嵌/Values内容
操作指令文档
filters可选过滤器,支持匹配:
• 请求URL/方法/头部/内容
• 响应状态码/头部
过滤器文档

配置示例

txt
``` test.js
if (method === 'GET') {
    rules.push('* resType://text');
    rules.push('* file://(<div>GET-Request</div>)');
} else {
    rules.push('* resStatus://403');
}
```
www.example.com/path reqScript://{test.js}

访问 https://www.example.com/path/to 返回内容:

可用全局变量

变量/方法描述
url完整请求URL
method请求方法(GET/POST等)
ip/clientIp客户端IP地址
headers请求头对象
body请求内容(最大16KB)
rules规则数组,通过push添加新规则
values临时值存储对象
render(tpl,data)微型模板渲染函数
getValue(key)获取Values中的值
parseUrl同Node.js的url.parse
parseQuery同Node.js的querystring.parse

关联协议

  1. 请求阶段脚本规则:reqScript
  2. 请求阶段批量规则:reqRules
  3. 响应阶段批量规则:resRules
  4. 更复杂的定制需求:插件开发