- создать класс с хендлером
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