fix(grpc): decode errors in streaming Recv() methods#3731
Merged
Conversation
This commit fixes issue #3320 where gRPC streaming Recv() methods were not decoding errors properly, unlike unary methods which correctly decode custom error types. Changes: - Updated stream_recv.go.tpl template to add error decoding for client streaming - Added DecodeError call and type switching for custom errors - Added validation for custom errors that have validation rules - Fixed code generation issues (indentation and proper template usage) The fix ensures consistent error handling between unary and streaming gRPC methods, allowing clients to properly handle custom service errors defined in the DSL for all streaming patterns (server, client, and bidirectional). Tests added to verify: - Custom errors are properly decoded in streaming recv methods - Validation is applied to custom errors - All streaming patterns handle errors consistently - Error handling is consistent between unary and streaming methods Fixes #3320
45bb296 to
707f223
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
This commit fixes issue #3320 where gRPC streaming Recv() methods were not
decoding errors properly, unlike unary methods which correctly decode custom
error types.
Changes:
The fix ensures consistent error handling between unary and streaming gRPC
methods, allowing clients to properly handle custom service errors defined
in the DSL for all streaming patterns (server, client, and bidirectional).
Tests added to verify:
Fixes #3320