This is a Traefik plugin, which controls the inbound traffic, useful for billing related requirements.
We use this with the Payment Processor.
Or you can also develop your own processors.
According to traefik plugin demo's readme,
Plugin dependencies must be vendored for each plugin. Vendored packages should be included in the plugin's GitHub repository. (Go modules are not supported.)
So we have to push the vendor directory.
Traefik doesn't like package unsafe
(which has been widely used in many dependencies), so we have to split a dedicated connector
to call them, contact with our plugin through rpc
.
Lint doesn't like GatewayFlowController_test
because of mixed camelCase and snake_case.
Traefik doesn't like plugin
because of unmatched package name.
So in order to satisfy both of them, we have to use this long piece of word.