14 """The AsyncIO version of the reflection servicer."""
16 from typing
import AsyncIterable
24 """Servicer handling RPCs for service statuses."""
27 self, request_iterator: AsyncIterable[
28 _reflection_pb2.ServerReflectionRequest], unused_context
29 ) -> AsyncIterable[_reflection_pb2.ServerReflectionResponse]:
30 async
for request
in request_iterator:
31 if request.HasField(
'file_by_filename'):
33 elif request.HasField(
'file_containing_symbol'):
35 request.file_containing_symbol)
36 elif request.HasField(
'file_containing_extension'):
38 request.file_containing_extension.containing_type,
39 request.file_containing_extension.extension_number)
40 elif request.HasField(
'all_extension_numbers_of_type'):
42 request.all_extension_numbers_of_type)
43 elif request.HasField(
'list_services'):
46 yield _reflection_pb2.ServerReflectionResponse(
47 error_response=_reflection_pb2.ErrorResponse(
48 error_code=grpc.StatusCode.INVALID_ARGUMENT.value[0],
49 error_message=grpc.StatusCode.INVALID_ARGUMENT.value[1].