RewritePlugin
重写请求。
插件实例定义
{
"name": "RewritePlugin",
"enabled": true,
"pluginPath": "~appFolder/plugins/dev-proxy-plugins.dll",
"configSection": "rewritePlugin"
}
配置示例
{
"rewritePlugin": {
"rewritesFile": "rewrites.json"
}
}
配置属性
properties | 说明 | 默认 |
---|---|---|
rewritesFile |
包含重写定义的文件的路径 | rewrites.json |
命令行选项
无
重写文件示例
下面是重写规则的示例。
重写从 HTTP 到 HTTPS 的所有请求
重写从 HTTP 到 HTTPS 的所有请求。 在此上下文中, 所有 请求都意味着使用开发代理或 RewritePlugin 配置的所有请求。
{
"rewrites": [
{
"in": {
"url": "^http://(.*)"
},
"out": {
"url": "https://$1"
}
}
]
}
模拟文件属性
properties | 描述 | 必须 |
---|---|---|
rewrites |
重写对象的数组,这些对象定义重写规则列表,重写Plugin 应用于它截获的请求 | 是 |
重写对象
每个重写规则具有以下属性:
properties | 描述 | 必须 |
---|---|---|
in |
重写模式 以匹配传入请求。 | 是 |
out |
重写模式 以重写请求 | 是 |
注解
如果重写Plugin 截获的请求与模式中定义的所有属性不匹配,插件不会将重写规则应用于请求。
重写模式
每个重写模式具有以下属性:
properties | 描述 | 必须 | 默认值 | 示例值 |
---|---|---|---|---|
url |
插件应用于 URL 的正则表达式。 | 是 | ^http://(.*) |
注解
如果在模式中的正则表达式中使用捕获组,则可以在 out 模式中引用它们。 例如,如果要重写 http://example.com/foo
为 https://example.com/foo
,可以使用以下重写规则:
{
"in": {
"url": "^http://(.*)"
},
"out": {
"url": "https://$1"
}
}