Settings¶
Configuration for gRPC framework is all namespaced inside a single Django
setting, named GRPC_FRAMEWORK
, for example your project’s settings.py
file might look like this:
GRPC_FRAMEWORK = {
'ROOT_HANDLERS_HOOK': 'project.urls.grpc_handlers',
}
Accessing settings¶
If you need to access the values of gRPC framework’s settings in your project,
you should use the grpc_settings
object. For example:
from django_grpc_framework.settings import grpc_settings
print(grpc_settings.ROOT_HANDLERS_HOOK)
The grpc_settings
object will check for any user-defined settings, and
otherwise fall back to the default values. Any setting that uses string import
paths to refer to a class will automatically import and return the referenced
class, instead of the string literal.
Configuration values¶
-
ROOT_HANDLERS_HOOK
¶ A hook function that takes gRPC server object as a single parameter and add all servicers to the server.
Default:
'{settings.ROOT_URLCONF}.grpc_handlers'
One example for the hook function:
def grpc_handlers(server): demo_pb2_grpc.add_UserControllerServicer_to_server(UserService.as_servicer(), server)
-
SERVER_INTERCEPTORS
¶ An optional list of ServerInterceptor objects that observe and optionally manipulate the incoming RPCs before handing them over to handlers.
Default:
None