django_socio_grpc.services.servicer_proxy

Module Contents

Classes

MiddlewareCapable

Allows to define middlewares that can be used in sync and async mode. Most of the code is taken from django.core.handlers.base.BaseHandler https://github.com/django/django/blob/main/django/core/handlers/base.py

ServicerProxy

gRPC call ↓ ServicerProxy.__getattr__(action)ServicerProxy.get_handler(action)ServicerProxy.[correct handler] (sync or async and stream or not) ↓ return _middleware_chain (from setting GRPC_MIDDLEWARE) ↓… middleware 1 ↓… middleware 2 ↓… middleware n ↓ ServicerProxy._get_response (sync or async) … … …

Functions

get_servicer_context

Data

logger

_ServicerCtx

API

django_socio_grpc.services.servicer_proxy.logger

None

django_socio_grpc.services.servicer_proxy._ServicerCtx

None

django_socio_grpc.services.servicer_proxy.get_servicer_context()
class django_socio_grpc.services.servicer_proxy.MiddlewareCapable

Allows to define middlewares that can be used in sync and async mode. Most of the code is taken from django.core.handlers.base.BaseHandler https://github.com/django/django/blob/main/django/core/handlers/base.py

_middleware_chain

None

adapt_method_mode

None

load_middleware(is_async=False)

Populate middleware lists from settings.GRPC_MIDDLEWARE.

abstract _get_response(request_container: django_socio_grpc.request_transformer.GRPCRequestContainer)
abstract async _get_response_async(request_container: django_socio_grpc.request_transformer.GRPCRequestContainer)
class django_socio_grpc.services.servicer_proxy.ServicerProxy(service_class: Type[django_socio_grpc.services.Service], **initkwargs)

Bases: django_socio_grpc.services.servicer_proxy.MiddlewareCapable

gRPC call ↓ ServicerProxy.__getattr__(action)ServicerProxy.get_handler(action)ServicerProxy.[correct handler] (sync or async and stream or not) ↓ return _middleware_chain (from setting GRPC_MIDDLEWARE) ↓… middleware 1 ↓… middleware 2 ↓… middleware n ↓ ServicerProxy._get_response (sync or async) … … …

Initialization

_get_response(request_container: django_socio_grpc.request_transformer.GRPCRequestContainer) django_socio_grpc.request_transformer.GRPCResponseContainer
async _get_response_async(request_container: django_socio_grpc.request_transformer.GRPCRequestContainer) django_socio_grpc.request_transformer.GRPCResponseContainer
_get_async_stream_handler(action: str) Awaitable[Callable]
_get_async_handler(action: str) Awaitable[Callable]
_get_handler(action: str) Callable
_get_stream_handler(action: str) Callable
get_handler(action: str) google.protobuf.message.Message
create_service(**kwargs)
__getattr__(action)
process_exception(exc, request_container: django_socio_grpc.request_transformer.GRPCRequestContainer)
async async_process_exception(exc, request_container: django_socio_grpc.request_transformer.GRPCRequestContainer)