Функция Azure получает путь к триггеру http - PullRequest
0 голосов
/ 16 октября 2019

У меня есть приложение функции триггера http, которое перенаправляет myAPI.com на версию, основанную на заголовке:

public static async Task<IActionResult> Run(HttpRequest req, ILogger log)
{
    var version = req.Headers["x-version"];
    if(version.ToString() == "2"){
        return new RedirectResult("https://v2.myAPI.com", false);
    }
    else{
        return new RedirectResult("https://v1.myAPI.com", false);
    }
}

Это работает. Однако, если у меня есть путь, например myAPI.com/customPath, он возвращает 404 для myAPI.com/customPath. Я хочу перенаправить на https://v1.myAPI.com/customPath. Думаю, это будет просто;Однако я не могу получить исходный URL из приложения функции.

Когда я пытаюсь req.Path.Value, это дает мне /api/HttpTrigger1. Как я могу получить путь или полный URL моего исходного почтового адреса (myAPI.com/customPath)?

1 Ответ

0 голосов
/ 18 октября 2019

Вы можете использовать Microsoft.AspNetCore.Http.Extensions.UriHelper.GetEncodedUrl(req), чтобы получить полный путь. Он возвращает объединенные компоненты URL-адреса запроса в полностью экранированной форме, подходящей для использования в заголовках HTTP и других HTTP-операциях.

enter image description here

...