Closed arvidfm closed 1 year ago
Thank you for the report. Unfortunately, without a minimum reproducible example (MRE), I will not be able to proceed with any fix for this. You are welcome to reopen this issue any time if you are able to supply an MRE.
Description of issue
grpc-stubs defines the continuation in interceptors to take a single request value (
TRequest
) as the second parameter:https://github.com/shabbyrobe/grpc-stubs/blob/master/grpc-stubs/__init__.pyi#L527 https://github.com/shabbyrobe/grpc-stubs/blob/master/grpc-stubs/__init__.pyi#L537 https://github.com/shabbyrobe/grpc-stubs/blob/master/grpc-stubs/aio/__init__.pyi#L340 https://github.com/shabbyrobe/grpc-stubs/blob/master/grpc-stubs/aio/__init__.pyi#L353
But the examples in the official gRPC repository show that the continuations are expected to take iterators:
https://github.com/grpc/grpc/blob/d63c4709d162c4b8261848a6958e18486752a458/examples/python/interceptors/headers/generic_client_interceptor.py#L50 https://github.com/grpc/grpc/blob/d63c4709d162c4b8261848a6958e18486752a458/examples/python/interceptors/headers/generic_client_interceptor.py#L59
I think the second parameter of the continuation should have the same type as the third parameter of the
intercept_stream_*
functions, i.e.typing.Iterator[TRequest]
for vanilla gRPC andtyping.Union[typing.AsyncIterable[TRequest], typing.Iterable[TRequest]]
forgrpc.aio
.Minimum Reproducible Example
N/A