Source code for pjrpc.common.encoder
import json
from typing import Any
from . import exceptions
from .request import BatchRequest, Request
from .response import BatchResponse, Response
[docs]class JSONEncoder(json.JSONEncoder):
"""
Library default JSON encoder. Encodes request, response and error objects to be json serializable.
All custom encoders should be inherited from it.
"""
[docs] def default(self, o: Any) -> Any:
if isinstance(
o, (
Response, Request,
BatchResponse, BatchRequest,
exceptions.JsonRpcError,
),
):
return o.to_json()
return super().default(o)