I am using djangogrpcframework 0.2.1 and I am trying to write a interceptor to see if a key is present in the request metadata. I also log somethings to see the progress of the interceptor.
from grpc import ServerInterceptor, StatusCode
class CustomInterceptor(ServerInterceptor):
def intercept_service(self, continuation, handler_call_details):
print("start intercepting)
metadata = handler_call_details.invocation_metadata
if 'key' not in metadata:
context = handler_call_details.invocation_metadata.context()
context.abort(StatusCode.UNAVAILABLE, 'No key provided')
return continuation(handler_call_details)
This class is located in path/to/CustomInterceptor
. I have added this interceptor to my django project settings like this:
GRPC_FRAMEWORK = {
'ROOT_HANDLERS_HOOK': 'project.urls.grpc_handlers',
'SERVER_INTERCEPTORS': [
'path.to.CustomInterceptor',
]
}
I run grpc server with the command:
python manage.py rungrpcserver
When trying to call any handler from a golang client to this server I do not see any log of the progress of interceptor, and I get the following error on my client
rpc error: code = Unknown desc = Error in service handler!
I already tried to see if the server has successfully imported the interceptor and that was not the problem.
I tried setting GRPC_VERBOSITY=DEBUG to see any log of error on my server but there was no log.