Support marking RPC methods as intercepted
-
Praefect currently supports marking an entire service as being intercepted. When a service is intercepted, it's not required to have operation type annotations which are used for proxying as they are not needed. This MR adds support for marking a single method from a service as intercepted. This allows for dropping annotations for methods which do not get proxied.
-
Praefect intercepts RepositoryExists calls and does not pass them through the proxy to Gitalys. As we can now mark a single method from a service as intercepted, let's do so for RepositoryExists. This allows us to remove its operation type annotations which are unused and to clearly indicate it is intercepted by Praefect.
As part of #3720 (closed) and #3485 (closed), we'll be intercepting the RemoveRepository
call in Praefect. These changes
allow us to mark it as intercepted, drop the annotations and remove the handling from Praefect's coordinator.