Source code for pjrpc.common

"""
Client and server common functions, types and classes that implements JSON-RPC protocol itself
and agnostic to any transport protocol layer (http, socket, amqp) and server-side implementation.
"""

from . import generators, typedefs
from .common import UNSET, JSONEncoder, MaybeSet, UnsetType
from .v20 import AbstractRequest, AbstractResponse, BatchRequest, BatchResponse, Request, Response

DEFAULT_CONTENT_TYPE = 'application/json'
'''default JSON-RPC client/server content type'''  # for sphinx autodoc

REQUEST_CONTENT_TYPES = ('application/json', 'application/json-rpc', 'application/jsonrequest')
'''allowed JSON-RPC server requests content types'''  # for sphinx autodoc

RESPONSE_CONTENT_TYPES = ('application/json', 'application/json-rpc')
'''allowed JSON-RPC client responses content types'''  # for sphinx autodoc


[docs]def set_default_content_type(content_type: str) -> None: """ Sets default json-rpc client request / json-rpc server response content type. """ global DEFAULT_CONTENT_TYPE DEFAULT_CONTENT_TYPE = content_type
__all__ = [ 'AbstractRequest', 'AbstractResponse', 'Request', 'Response', 'BatchRequest', 'BatchResponse', 'UNSET', 'UnsetType', 'MaybeSet', 'JSONEncoder', 'DEFAULT_CONTENT_TYPE', 'REQUEST_CONTENT_TYPES', 'RESPONSE_CONTENT_TYPES', 'generators', 'typedefs', 'set_default_content_type', ]