refactor: provide better public API, enforce proxying mode #2
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Provide more clear public API with options, also enforce proxying mode
with options (not by looking at number of backends).
One2one and one2many have some differences: one2one is transparent and
oen2many might inject additional metadata, wrap errors and responses,
etc., so if client expects one2many format, it should get it even with
one upstream.
Also provide method to guess streamed methods via function so any policy
can be implemented (inspecting grpc server description, looking at
method name prefix/suffix, etc.)
No functional changes, just shuffling code around.
Signed-off-by: Andrey Smirnov smirnov.andrey@gmail.com