在 proxies.json 中使用 Azure 函数设置自定义响应 header

Setting custom response header with Azure Function in proxies.json

我正在尝试将自定义 HTTP header 添加到我的 Azure Functions 的所有响应中 - 让我们称之为 X-Custom。然后我将这样的 proxies.json 文件添加到我的函数项目中:

{
  "$schema": "http://json.schemastore.org/proxies",
  "proxies": {
    "add-custom-header-to-response": {
      "matchCondition": {
        "route": "/{*restOfPath}"
      },
      "responseOverrides": {
        "response.headers.X-Custom": "Custom value"
      }
    }
  }
}

这按预期工作,我确实收到 X-Custom header,但我的回复内容丢失了。 proxies.json 文件中缺少什么?

更新

感谢 Baskar 我找到了解决方案(我缺少 backendUri):

{
  "$schema": "http://json.schemastore.org/proxies",
  "proxies": {
    "add-custom-header-to-response": {
      "matchCondition": {
        "route": "/api/1/{*restOfPath}"
      },
      "backendUri": "https://localhost/api/1/{restOfPath}",
      "responseOverrides": {
        "response.headers.X-Custom": "Custom value"
      }
    }
  }
}

另见:

https://docs.microsoft.com/en-us/azure/azure-functions/functions-proxies#reference-localhost https://docs.microsoft.com/en-us/azure/azure-functions/functions-proxies#route-template-parameters

刚刚使用路由 "test" 测试了我的 azure 函数,我已经覆盖了我的响应状态代码和状态描述并添加了自定义 header。您的 proxies.json 缺少函数后端 url。

{
    "$schema": "http://json.schemastore.org/proxies",
    "proxies": {
        "test": {
            "matchCondition": {
                "route": "test"
            },
            "backendUri": "https://testbasenewtest.azurewebsites.net/api/HttpTrigger1",
            "responseOverrides": {
                "response.statusCode": "200",
                "response.statusReason": "Successful Response",
                "response.headers.API_Login": "custom"
            }
        }
    }
}