aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/python/grpcio
diff options
context:
space:
mode:
authorGravatar kpayson64 <kpayson@google.com>2018-01-12 17:09:43 -0800
committerGravatar GitHub <noreply@github.com>2018-01-12 17:09:43 -0800
commite1e562eb171c81fad24176e898cc4e722bee227b (patch)
treec3eb43c96b729a24a4a86507b4470b43e26a82f3 /src/python/grpcio
parent06fbe438a20eb09c456c4ec7fc0000a5a07967ba (diff)
parent145b199c4ddcd5e7b985585f3e733ae5092adbbb (diff)
Merge pull request #13965 from evanj/python-abort-fix
python: Context.abort should fail RPC even for StatusCode.OK
Diffstat (limited to 'src/python/grpcio')
-rw-r--r--src/python/grpcio/grpc/_server.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/python/grpcio/grpc/_server.py b/src/python/grpcio/grpc/_server.py
index 9402941bab..56122fee11 100644
--- a/src/python/grpcio/grpc/_server.py
+++ b/src/python/grpcio/grpc/_server.py
@@ -277,6 +277,12 @@ class _Context(grpc.ServicerContext):
self._state.trailing_metadata = trailing_metadata
def abort(self, code, details):
+ # treat OK like other invalid arguments: fail the RPC
+ if code == grpc.StatusCode.OK:
+ logging.error(
+ 'abort() called with StatusCode.OK; returning UNKNOWN')
+ code = grpc.StatusCode.UNKNOWN
+ details = ''
with self._state.condition:
self._state.code = code
self._state.details = _common.encode(details)