I have written a Custom Delegating Handler which add custom headers to the response & checks in the request .
I added the handles in WebAPi configuration
config.MessageHandlers.Add(new customHandler());
But the issue is applies to all the controllers. I need to apply custom header specific to a controllers. Is it possible to add custom handlers specific to a controller?
At the end of this article it explains how to apply handlers only to certain routes: http://www.asp.net/web-api/overview/working-with-http/http-message-handlers. You may have to create a unique handler for your controller for it to apply to that controller only.
config.Routes.MapHttpRoute(
name: "MyCustomHandlerRoute",
routeTemplate: "api/MyController/{id}",
defaults: new { controller = "MyController", id = RouteParameter.Optional },
constraints: null,
handler: HttpClientFactory.CreatePipeline(new HttpControllerDispatcher(config), new MyCustomDelegatingMessageHandlerA());
);
Regarding how the pipeline of per-route message handlers would look like, you can look here.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With