KBlog

Short description of the blog

Использование модулей в WebAPI

1. создать клас с хендлером

public class CustomHeaderHandler : DelegatingHandler
    {
        protected override Task<HttpResponseMessage> SendAsync(HttpRequestMessage request, CancellationToken cancellationToken)
        {
            request.Headers.Remove("Server");

            request.Headers.Add("Server", "WDAPI Server 4"); 
            return base.SendAsync(request, cancellationToken);
        }
    }

2.  добавить наш хендлер

            HttpConfiguration config = new HttpConfiguration();
            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{action}/{id}",
                defaults: new { id = RouteParameter.Optional });

   

                //вот так можно добавляеть хендлеры для обратботки запросов на низком уровне
                config.MessageHandlers.Add(new CompressedRequestHandler());
                config.MessageHandlers.Add(new GZipToJsonHandler());
                config.MessageHandlers.Add(new CustomIHeaderHandler());
                app.UseWebApi(config);

 

ссылки:

http://www.asp.net/web-api/overview/web-api-clients/httpclient-message-handlers

http://www.asp.net/web-api/overview/hosting-aspnet-web-api/self-host-a-web-api