csharp 使用方法覆盖标头将流量路由到控制器操作的方法。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了csharp 使用方法覆盖标头将流量路由到控制器操作的方法。相关的知识,希望对你有一定的参考价值。

public class MethodOverrideHandler : DelegatingHandler
{
    readonly string[] _methods = { "DELETE", "HEAD", "PUT" };
    const string _header = "X-HTTP-Method-Override";
 
    protected override Task<HttpResponseMessage> SendAsync(
        HttpRequestMessage request, CancellationToken cancellationToken)
    {
        // Check for HTTP POST with the X-HTTP-Method-Override header.
        if (request.Method == HttpMethod.Post && request.Headers.Contains(_header))
        {
            // Check if the header value is in our methods list.
            var method = request.Headers.GetValues(_header).FirstOrDefault();
            if (_methods.Contains(method, StringComparer.InvariantCultureIgnoreCase))
            {
                // Change the request method.
                request.Method = new HttpMethod(method);
            }
        }
        return base.SendAsync(request, cancellationToken);
    }
}

以上是关于csharp 使用方法覆盖标头将流量路由到控制器操作的方法。的主要内容,如果未能解决你的问题,请参考以下文章

antd 覆盖样式化组件

实操教程丨如何在K8S集群中部署Traefik Ingress Controller

路由覆盖控制器路由

kubernetes ingress traefik 入门

将生成标头方法添加到路由创建方法[关闭]

使用Istio控制Serverless架构Fn Project中的函数间流量路由