Is it possible to add interceptor functions in istio?

I want to store all incoming request information (e.g. url, path, claim in JWT) for metering and charge the users in future. But I want to take this away from the codebase and want to add this as an interceptor in istio so that our developers don’t need to worry about this piece of code. Any way I can do this with the help of istio (or K8s support this already?) If no, or there are better ways, what would you guys recommend?

Any help is appreciated.