Настройка пользовательского заголовка ответа с помощью функции Azure в proxies.json

Я пытаюсь добавить собственный HTTP-заголовок ко всем моим ответам на мои функции Azure - давайте назовем его 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, но содержимое моего ответа пропало. Чего мне не хватает в файле proxies.json?

Обновить

Благодаря Баскару я пришел к решению (мне не хватало 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 https://docs.microsoft.com/en-us/azure/azure-functions/functions-proxies

1 ответ

Решение

Только что проверил мою функцию Azure с маршрутом как "тест", и я переопределил код статуса моего ответа и описание статуса, а также добавил пользовательский заголовок. В вашем 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"
            }
        }
    }
}
Другие вопросы по тегам