Expose the AbortError to enable users to identify the exception

pull/21582/head
Lidi Zheng 5 years ago
parent b721c6c096
commit 26367cecc2
  1. 5
      src/python/grpcio/grpc/experimental/aio/__init__.py
  2. 4
      src/python/grpcio_tests/tests_aio/unit/abort_test.py

@ -22,7 +22,7 @@ from typing import Any, Optional, Sequence, Text, Tuple
import six
import grpc
from grpc._cython.cygrpc import init_grpc_aio
from grpc._cython.cygrpc import init_grpc_aio, AbortError
from ._base_call import Call, RpcContext, UnaryStreamCall, UnaryUnaryCall
from ._call import AioRpcError
@ -86,4 +86,5 @@ __all__ = ('AioRpcError', 'RpcContext', 'Call', 'UnaryUnaryCall',
'UnaryStreamCall', 'init_grpc_aio', 'Channel',
'UnaryUnaryMultiCallable', 'ClientCallDetails',
'UnaryUnaryClientInterceptor', 'InterceptedUnaryUnaryCall',
'insecure_channel', 'secure_channel', 'server')
'insecure_channel', 'secure_channel', 'server', 'Server',
'AbortError')

@ -47,7 +47,7 @@ class _GenericHandler(grpc.GenericRpcHandler):
async def _suppress_abort(unused_request, context):
try:
await context.abort(_ABORT_CODE, _ABORT_DETAILS)
except Exception as e:
except aio.AbortError as e:
pass
return _RESPONSE
@ -55,7 +55,7 @@ class _GenericHandler(grpc.GenericRpcHandler):
async def _replace_abort(unused_request, context):
try:
await context.abort(_ABORT_CODE, _ABORT_DETAILS)
except Exception as e:
except aio.AbortError as e:
await context.abort(grpc.StatusCode.INVALID_ARGUMENT,
'Override abort!')

Loading…
Cancel
Save