Установка настраиваемого заголовка ответа с помощью функции 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?

Обновить

Благодаря 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


person Nikolaj    schedule 22.10.2018    source источник


Ответы (1)


Только что протестировал свою функцию Azure с маршрутом как «test», я переопределил свой код состояния ответа и описание состояния и добавил настраиваемый заголовок. В вашем 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"
            }
        }
    }
}
person Baskar Rao    schedule 22.10.2018
comment
Вы правы, мне не хватало backendUri. Я решил свою общую проблему, используя {restOfPath} для решения всех моих функций. Я обновил свой вопрос своим решением. Спасибо! - person Nikolaj; 25.10.2018