Azure Functions 代理 - 如果值包含 JSON,则无法设置 HTTP header
Azure Functions Proxy - unable to set a HTTP header if value contains JSON
我正在尝试使用代理功能设置 Report-To
HTTP header,但是当 header 的值包含 JSON值。
{
"$schema": "http://json.schemastore.org/proxies",
"proxies": {
"proxy1": {
"debug": true,
"matchCondition": {
"methods": [ "GET" ],
"route": "/{*all}"
},
"backendUri": "https://*****.z6.web.core.windows.net/{all}",
"responseOverrides": {
"response.headers.Reply-To": "{{ \"TEST\":0 }}"
}
}
}
}
此功能returns HTTP 错误 503 服务不可用 "Functionhost is not running." 如果我在 Azure 上尝试。如果在本地启动,运行时会显示以下错误消息:
[26. 11. 2018 21:29:45] A ScriptHost error has occurred
[26. 11. 2018 21:29:45] Microsoft.Azure.AppService.Proxy.Common: ; expected
[26. 11. 2018 21:29:45] ; expected
[26. 11. 2018 21:29:45] The name 'TEST' does not exist in the current context
[26. 11. 2018 21:29:45] Only assignment, call, increment, decrement, and new object expressions can be used as a statement.
[26. 11. 2018 21:29:45] Stopping Host
我的代理定义有问题还是 Azure Functions 中的错误?
这是有效的 json,所以我觉得这是一个错误。为此,我在我们的回购协议中记录了一个问题 here。
作为解决方法,您可以将 header 值更改为 "{{ 'TEST':0 }}"
,使用单引号而不是转义双引号。
我正在尝试使用代理功能设置 Report-To
HTTP header,但是当 header 的值包含 JSON值。
{
"$schema": "http://json.schemastore.org/proxies",
"proxies": {
"proxy1": {
"debug": true,
"matchCondition": {
"methods": [ "GET" ],
"route": "/{*all}"
},
"backendUri": "https://*****.z6.web.core.windows.net/{all}",
"responseOverrides": {
"response.headers.Reply-To": "{{ \"TEST\":0 }}"
}
}
}
}
此功能returns HTTP 错误 503 服务不可用 "Functionhost is not running." 如果我在 Azure 上尝试。如果在本地启动,运行时会显示以下错误消息:
[26. 11. 2018 21:29:45] A ScriptHost error has occurred
[26. 11. 2018 21:29:45] Microsoft.Azure.AppService.Proxy.Common: ; expected
[26. 11. 2018 21:29:45] ; expected
[26. 11. 2018 21:29:45] The name 'TEST' does not exist in the current context
[26. 11. 2018 21:29:45] Only assignment, call, increment, decrement, and new object expressions can be used as a statement.
[26. 11. 2018 21:29:45] Stopping Host
我的代理定义有问题还是 Azure Functions 中的错误?
这是有效的 json,所以我觉得这是一个错误。为此,我在我们的回购协议中记录了一个问题 here。
作为解决方法,您可以将 header 值更改为 "{{ 'TEST':0 }}"
,使用单引号而不是转义双引号。