What would be the easiest way to setup a request/response interceptor in ServiceStack that would execute for a particular service?

A request filter (`IHasRequestFilter`) works fine but a response filter (`IHasResponseFilter`) is not triggered if the service returns non 2xx status code. I need to retrieve the status code returned by the method as well as the response DTO (if any).

A custom ServiceRunner and overriding the `OnBeforeExecute` and `OnAfterExecute` methods seems to work fine but I find it pretty intrusive as the service runner need to be replaced for the entire application and I couldn't find a way clean way to isolate per functionality the tasks that need to be executed in those methods.

Is there some extension point in ServiceStack that I am missing that would allow me to execute some code before each service method and after each service method? A plugin would be ideal but how can I subscribe to some fictitious `BeforeExecute` and `AfterExecute` methods that would allow me to run some custom code?

---

UPDATE:

Just after posting the question I found out that global response filters are executed no matter what status code is returned by the service which is exactly what I needed. So one last question: Is it possible to retrieve the service type that will handle the request in a request filter? I need to check whether this service is decorated by some custom marker attribute.