SYMBOL INDEX (227 symbols across 14 files) FILE: docs/conf.py function setup (line 15) | def setup(app): function skip_member (line 20) | def skip_member(app, what, name, obj, skip, options): FILE: noxfile.py function tests (line 19) | def tests(session): function xdoctest (line 43) | def xdoctest(session) -> None: function docs (line 52) | def docs(session): function black (line 63) | def black(session): function lint (line 71) | def lint(session): function mypy (line 86) | def mypy(session): function safety (line 95) | def safety(session): function mindeps (line 112) | def mindeps(session): function install_with_constraints (line 119) | def install_with_constraints(session, *args, **kwargs): function _temp_file (line 135) | def _temp_file(): function _parse_minimum_dependency_versions (line 147) | def _parse_minimum_dependency_versions() -> List[str]: FILE: src/grpc_interceptor/client.py class _ClientCallDetailsFields (line 9) | class _ClientCallDetailsFields(NamedTuple): class ClientCallDetails (line 18) | class ClientCallDetails(_ClientCallDetailsFields, grpc.ClientCallDetails): class ClientInterceptorReturnType (line 27) | class ClientInterceptorReturnType(grpc.Call, grpc.Future): class ClientInterceptor (line 33) | class ClientInterceptor( method intercept (line 46) | def intercept( method intercept_unary_unary (line 81) | def intercept_unary_unary( method intercept_unary_stream (line 94) | def intercept_unary_stream( method intercept_stream_unary (line 107) | def intercept_stream_unary( method intercept_stream_stream (line 120) | def intercept_stream_stream( function _swap_args (line 134) | def _swap_args(fn: Callable[[Any, Any], Any]) -> Callable[[Any, Any], Any]: FILE: src/grpc_interceptor/exception_to_status.py class ExceptionToStatusInterceptor (line 24) | class ExceptionToStatusInterceptor(ServerInterceptor): method __init__ (line 45) | def __init__(self, status_on_unknown_exception: Optional[grpc.StatusCo... method _generate_responses (line 51) | def _generate_responses( method _handle_exception (line 63) | def _handle_exception( method handle_exception (line 71) | def handle_exception( method intercept (line 102) | def intercept( class AsyncExceptionToStatusInterceptor (line 123) | class AsyncExceptionToStatusInterceptor(AsyncServerInterceptor): method __init__ (line 130) | def __init__(self, status_on_unknown_exception: Optional[grpc.StatusCo... method _generate_responses (line 136) | async def _generate_responses( method handle_exception (line 150) | async def handle_exception( method intercept (line 181) | async def intercept( FILE: src/grpc_interceptor/exceptions.py class GrpcException (line 12) | class GrpcException(Exception): method __init__ (line 36) | def __init__( method __repr__ (line 46) | def __repr__(self) -> str: method status_string (line 57) | def status_string(self): class Aborted (line 70) | class Aborted(GrpcException): class AlreadyExists (line 82) | class AlreadyExists(GrpcException): class Cancelled (line 92) | class Cancelled(GrpcException): class DataLoss (line 99) | class DataLoss(GrpcException): class DeadlineExceeded (line 106) | class DeadlineExceeded(GrpcException): class FailedPrecondition (line 118) | class FailedPrecondition(GrpcException): class InvalidArgument (line 140) | class InvalidArgument(GrpcException): class Internal (line 152) | class Internal(GrpcException): class OutOfRange (line 163) | class OutOfRange(GrpcException): class NotFound (line 180) | class NotFound(GrpcException): class PermissionDenied (line 193) | class PermissionDenied(GrpcException): class ResourceExhausted (line 207) | class ResourceExhausted(GrpcException): class Unauthenticated (line 217) | class Unauthenticated(GrpcException): class Unavailable (line 226) | class Unavailable(GrpcException): class Unimplemented (line 237) | class Unimplemented(GrpcException): class Unknown (line 246) | class Unknown(GrpcException): FILE: src/grpc_interceptor/server.py class ServerInterceptor (line 11) | class ServerInterceptor(grpc.ServerInterceptor, metaclass=abc.ABCMeta): method intercept (line 18) | def intercept( method intercept_service (line 48) | def intercept_service(self, continuation, handler_call_details): class AsyncServerInterceptor (line 77) | class AsyncServerInterceptor(grpc_aio.ServerInterceptor, metaclass=abc.A... method intercept (line 84) | async def intercept( method intercept_service (line 117) | async def intercept_service(self, continuation, handler_call_details): function _get_factory_and_method (line 179) | def _get_factory_and_method( class MethodName (line 194) | class MethodName: method __init__ (line 209) | def __init__(self, package: str, service: str, method: str): method __repr__ (line 214) | def __repr__(self) -> str: method fully_qualified_service (line 222) | def fully_qualified_service(self): function parse_method_name (line 232) | def parse_method_name(method_name: str) -> MethodName: FILE: src/grpc_interceptor/testing/__init__.py function raises (line 21) | def raises(e: Exception) -> Callable: FILE: src/grpc_interceptor/testing/dummy_client.py class _SpecialCaseMixin (line 32) | class _SpecialCaseMixin: method _get_output (line 35) | def _get_output(self, request: DummyRequest, context: grpc.ServicerCon... method _get_output_async (line 44) | async def _get_output_async( class DummyService (line 60) | class DummyService(dummy_pb2_grpc.DummyServiceServicer, _SpecialCaseMixin): method __init__ (line 71) | def __init__( method Execute (line 77) | def Execute( method ExecuteClientStream (line 83) | def ExecuteClientStream( method ExecuteServerStream (line 90) | def ExecuteServerStream( method ExecuteClientServerStream (line 97) | def ExecuteClientServerStream( class AsyncDummyService (line 105) | class AsyncDummyService(dummy_pb2_grpc.DummyServiceServicer, _SpecialCas... method __init__ (line 111) | def __init__( method Execute (line 117) | async def Execute( method ExecuteClientStream (line 123) | async def ExecuteClientStream( method ExecuteServerStream (line 135) | async def ExecuteServerStream( method ExecuteClientServerStream (line 142) | async def ExecuteClientServerStream( class AsyncReadWriteDummyService (line 152) | class AsyncReadWriteDummyService( method __init__ (line 160) | def __init__( method Execute (line 166) | async def Execute( method ExecuteClientStream (line 172) | async def ExecuteClientStream( method ExecuteServerStream (line 187) | async def ExecuteServerStream( method ExecuteClientServerStream (line 194) | async def ExecuteClientServerStream( function dummy_client (line 210) | def dummy_client( function dummy_channel (line 237) | def dummy_channel( class _AsyncServerThread (line 307) | class _AsyncServerThread(Thread): method __init__ (line 311) | def __init__( method run (line 323) | def run(self): method __run_server (line 327) | async def __run_server(self): method wait_for_server (line 337) | def wait_for_server(self): method stop (line 340) | def stop(self): method __shutdown (line 345) | async def __shutdown(self) -> None: FILE: src/grpc_interceptor/testing/protos/dummy_pb2.pyi class DummyRequest (line 24) | class DummyRequest(google___protobuf___message___Message): method __init__ (line 27) | def __init__( method ClearField (line 32) | def ClearField( class DummyResponse (line 38) | class DummyResponse(google___protobuf___message___Message): method __init__ (line 41) | def __init__( method ClearField (line 46) | def ClearField( FILE: src/grpc_interceptor/testing/protos/dummy_pb2_grpc.py class DummyServiceStub (line 10) | class DummyServiceStub(object): method __init__ (line 13) | def __init__(self, channel): class DummyServiceServicer (line 41) | class DummyServiceServicer(object): method Execute (line 44) | def Execute(self, request, context): method ExecuteClientStream (line 50) | def ExecuteClientStream(self, request_iterator, context): method ExecuteServerStream (line 56) | def ExecuteServerStream(self, request, context): method ExecuteClientServerStream (line 62) | def ExecuteClientServerStream(self, request_iterator, context): function add_DummyServiceServicer_to_server (line 69) | def add_DummyServiceServicer_to_server(servicer, server): class DummyService (line 99) | class DummyService(object): method Execute (line 103) | def Execute( method ExecuteClientStream (line 132) | def ExecuteClientStream( method ExecuteServerStream (line 161) | def ExecuteServerStream( method ExecuteClientServerStream (line 190) | def ExecuteClientServerStream( FILE: tests/test_client.py class MetadataInterceptor (line 14) | class MetadataInterceptor(ClientInterceptor): method __init__ (line 17) | def __init__(self, metadata: List[Tuple[str, str]]): method intercept (line 20) | def intercept(self, method, request_or_iterator, call_details): class CodeCountInterceptor (line 26) | class CodeCountInterceptor(ClientInterceptor): method __init__ (line 29) | def __init__(self): method intercept (line 32) | def intercept(self, method, request_or_iterator, call_details): class RetryInterceptor (line 39) | class RetryInterceptor(ClientInterceptor): method __init__ (line 42) | def __init__(self, retries): method intercept (line 45) | def intercept(self, method, request_or_iterator, call_details): class CrashingService (line 59) | class CrashingService: method __init__ (line 64) | def __init__(self, num_crashes, success_value="OK", exception=DEFAULT_... method __call__ (line 69) | def __call__(self, *args, **kwargs): class CachingInterceptor (line 78) | class CachingInterceptor(ClientInterceptor): method __init__ (line 81) | def __init__(self): method intercept (line 84) | def intercept(self, method, request_or_iterator, call_details): function metadata_string (line 99) | def metadata_string(): function metadata_client (line 105) | def metadata_client(): function test_metadata_unary (line 121) | def test_metadata_unary(metadata_client, metadata_string): function test_metadata_server_stream (line 127) | def test_metadata_server_stream(metadata_client, metadata_string): function test_metadata_client_stream (line 136) | def test_metadata_client_stream(metadata_client, metadata_string): function test_metadata_client_server_stream (line 145) | def test_metadata_client_server_stream(metadata_client, metadata_string): function test_code_counting (line 153) | def test_code_counting(): function test_basic_retry (line 168) | def test_basic_retry(): function test_failed_retry (line 178) | def test_failed_retry(): function test_chaining (line 189) | def test_chaining(): function test_caching (line 206) | def test_caching(): FILE: tests/test_exception_to_status.py class NonGrpcException (line 17) | class NonGrpcException(Exception): class ExtendedExceptionToStatusInterceptor (line 24) | class ExtendedExceptionToStatusInterceptor(ExceptionToStatusInterceptor): method __init__ (line 27) | def __init__(self): method handle_exception (line 30) | def handle_exception(self, ex, request_or_iterator, context, method_na... class AsyncExtendedExceptionToStatusInterceptor (line 41) | class AsyncExtendedExceptionToStatusInterceptor(AsyncExceptionToStatusIn... method __init__ (line 44) | def __init__(self): method handle_exception (line 47) | async def handle_exception(self, ex, request_or_iterator, context, met... function _get_interceptors (line 60) | def _get_interceptors( function test_repr (line 78) | def test_repr(): function test_status_string (line 93) | def test_status_string(): function test_no_exception (line 104) | def test_no_exception(aio): function test_custom_details (line 114) | def test_custom_details(aio): function test_non_grpc_exception (line 131) | def test_non_grpc_exception(aio): function test_non_grpc_exception_with_override (line 144) | def test_non_grpc_exception_with_override(aio): function test_aborted_context (line 160) | def test_aborted_context(aio): function test_override_with_ok (line 182) | def test_override_with_ok(): function test_all_exceptions (line 193) | def test_all_exceptions(aio): function test_exception_in_streaming_response (line 223) | def test_exception_in_streaming_response(aio): function _snake_to_camel (line 237) | def _snake_to_camel(s: str) -> str: function test_not_ok (line 241) | def test_not_ok(): function test_extending (line 248) | def test_extending(aio): FILE: tests/test_server.py class CountingInterceptor (line 18) | class CountingInterceptor(ServerInterceptor): method __init__ (line 21) | def __init__(self): method intercept (line 25) | def intercept(self, method, request, context, method_name): class AsyncCountingInterceptor (line 35) | class AsyncCountingInterceptor(AsyncServerInterceptor): method __init__ (line 38) | def __init__(self): method intercept (line 42) | async def intercept(self, method, request, context, method_name): class SideEffectInterceptor (line 52) | class SideEffectInterceptor(ServerInterceptor): method __init__ (line 55) | def __init__(self, side_effect): method intercept (line 58) | def intercept(self, method, request, context, method_name): class AsyncSideEffectInterceptor (line 64) | class AsyncSideEffectInterceptor(AsyncServerInterceptor): method __init__ (line 67) | def __init__(self, side_effect): method intercept (line 70) | async def intercept(self, method, request, context, method_name): class UppercasingInterceptor (line 76) | class UppercasingInterceptor(ServerInterceptor): method intercept (line 79) | def intercept(self, method, request, context, method_name): class AsyncUppercasingInterceptor (line 85) | class AsyncUppercasingInterceptor(AsyncServerInterceptor): method intercept (line 88) | async def intercept(self, method, request, context, method_name): class AbortingInterceptor (line 94) | class AbortingInterceptor(ServerInterceptor): method __init__ (line 97) | def __init__(self, message): method intercept (line 100) | def intercept(self, method, request, context, method_name): class AsyncAbortingInterceptor (line 105) | class AsyncAbortingInterceptor(AsyncServerInterceptor): method __init__ (line 108) | def __init__(self, message): method intercept (line 111) | async def intercept(self, method, request, context, method_name): function test_call_counts (line 117) | def test_call_counts(aio): function test_interceptor_chain (line 142) | def test_interceptor_chain(aio): function test_modifying_interceptor (line 156) | def test_modifying_interceptor(aio): function test_aborting_interceptor (line 167) | def test_aborting_interceptor(aio): function test_method_not_found (line 181) | def test_method_not_found(aio): function test_method_name (line 202) | def test_method_name(): function test_empty_package_method_name (line 211) | def test_empty_package_method_name(): function test_parse_method_name (line 217) | def test_parse_method_name(): function test_parse_empty_package (line 225) | def test_parse_empty_package(): FILE: tests/test_streaming.py class StreamingInterceptor (line 12) | class StreamingInterceptor(ServerInterceptor): method intercept (line 15) | def intercept(self, method, request, context, method_name): class AsyncStreamingInterceptor (line 20) | class AsyncStreamingInterceptor(AsyncServerInterceptor): method intercept (line 23) | async def intercept(self, method, request, context, method_name): class ServerStreamingLoggingInterceptor (line 32) | class ServerStreamingLoggingInterceptor(ServerInterceptor): method __init__ (line 35) | def __init__(self): method intercept (line 38) | def intercept(self, method, request, context, method_name): class AsyncServerStreamingLoggingInterceptor (line 45) | class AsyncServerStreamingLoggingInterceptor(AsyncServerInterceptor): method __init__ (line 48) | def __init__(self): method intercept (line 51) | async def intercept(self, method, request, context, method_name): class ServerOmniLoggingInterceptor (line 58) | class ServerOmniLoggingInterceptor(ServerInterceptor): method __init__ (line 61) | def __init__(self): method _log_and_yield (line 64) | def _log_and_yield(self, iterator): method intercept (line 71) | def intercept(self, method, request, context, method_name): class AsyncServerOmniLoggingInterceptor (line 81) | class AsyncServerOmniLoggingInterceptor(AsyncServerInterceptor): method __init__ (line 84) | def __init__(self): method _log_and_yield (line 87) | async def _log_and_yield(self, iterator): method intercept (line 94) | async def intercept(self, method, request, context, method_name): class ClientStreamingLoggingInterceptor (line 105) | class ClientStreamingLoggingInterceptor(ServerInterceptor): method __init__ (line 108) | def __init__(self): method _log_and_yield (line 111) | def _log_and_yield(self, request): method intercept (line 116) | def intercept(self, method, request, context, method_name): class AsyncClientStreamingLoggingInterceptor (line 122) | class AsyncClientStreamingLoggingInterceptor(AsyncServerInterceptor): method __init__ (line 125) | def __init__(self): method _log_and_yield (line 128) | async def _log_and_yield(self, request): method intercept (line 133) | async def intercept(self, method, request, context, method_name): function test_client_streaming (line 141) | def test_client_streaming(aio, aio_rw): function test_server_streaming (line 163) | def test_server_streaming(aio): function test_client_server_streaming (line 177) | def test_client_server_streaming(aio): function test_interceptor_iterates_server_streaming (line 191) | def test_interceptor_iterates_server_streaming(aio): function test_interceptor_handles_both_unary_and_streaming (line 210) | def test_interceptor_handles_both_unary_and_streaming(aio): function test_client_log_streaming (line 231) | def test_client_log_streaming(aio): function test_client_streaming_write_method (line 250) | async def test_client_streaming_write_method():