The Middleware trait defines a generic interface for middleware components
in a grpc service chain.
Implementors of this trait can modify, observe, or otherwise interact with requests and
responses in the service pipeline
The RequestInterceptor trait is designed to enable the interception and processing of
incoming requests within your service pipeline. This trait is particularly useful for
performing operations such as authentication, enriching requests with additional metadata,
or rejecting requests based on certain criteria before they reach the service logic.