Internal API#

middleware wrappers#

class dmr.internal.middleware_wrapper.DecoratorWithResponses(*, decorator: Callable[[_TypeT], _TypeT], responses: list[ResponseSpec])[source]#

Type for decorator with responses attribute.

__call__(klass: _TypeT) _TypeT[source]#

Apply the decorator to the class.

Json backends#

class dmr.internal.json.JsonModule(*args, **kwargs)[source]#

Json module protocol.

This is how we use our json modules to parse / render data.

dumps(to_serialize: Any, /, default: Callable[[Any], Any] | None = None) bytes[source]#

How data should be serialized.

loads(to_deserialize: Any, /) Any[source]#

How data should be deserialized.

class dmr.internal.json.NativeJson[source]#

Native json module implementation.

classmethod dumps(to_serialize: Any, /, default: Callable[[Any], Any] | None = None) bytes[source]#

Internal method to dump json to bytes.

classmethod loads(to_deserialize: str | Raw, /) Any[source]#

Internal method to load json as a simple object.