- створити клас з хендлером
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);
}
}
- добавить наш хендлер
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