【问题标题】:Azure function get path of http triggerAzure函数获取http触发器的路径
【发布时间】:2019-10-16 13:38:04
【问题描述】:

我有一个 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,它会为 myAPI.com/customPath 返回 404。我想重定向到https://v1.myAPI.com/customPath。认为这很简单;但是我无法从函数应用程序中获取原始网址。

当我尝试req.Path.Value 时,它给了我/api/HttpTrigger1。如何获取原始帖子地址 (myAPI.com/customPath) 的路径或完整 url?

【问题讨论】:

  • 你的天蓝色函数在哪里?在本地?
  • 关于这个问题的任何更新?你能用我的方式找到路径还是你还有其他问题?

标签: azure azure-functions


【解决方案1】:

您可以使用Microsoft.AspNetCore.Http.Extensions.UriHelper.GetEncodedUrl(req) 获取完整路径。它以完全转义的形式返回请求 URL 的组合组件,适用于 HTTP 标头和其他 HTTP 操作。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-17
    • 2021-06-11
    • 1970-01-01
    • 1970-01-01
    • 2021-01-25
    • 2021-07-14
    • 2020-07-03
    • 1970-01-01
    相关资源
    最近更新 更多