grpc-js: Ensure server interceptors work with builder utility classes #2696
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.
The idea with the part of the code modified here is that the user can pass in a partially filled in responder or server listener, and the rest of the object will be filled in with defaults so that the rest of the class can handle it more simply. Unfortunately, the specific strategy of doing that using the spread operator (
...
) works with unpopulated object fields, but not object fields set toundefined
, which is whatResponderBuilder
andServerListenerBuilder
produce.The test auth interceptor partially populates both a listener and a resolver, so switching it to use the builders should ensure that it catches this problem on both sides.