Files
fastapi-cache/fastapi_cache/coder.py

34 lines
653 B
Python
Raw Permalink Normal View History

2020-08-26 18:04:57 +08:00
import json
import pickle # nosec:B403
from typing import Any
class Coder:
@classmethod
def encode(cls, value: Any):
raise NotImplementedError
@classmethod
def decode(cls, value: Any):
raise NotImplementedError
class JsonCoder(Coder):
@classmethod
def encode(cls, value: Any):
return json.dumps(value)
@classmethod
def decode(cls, value: Any):
return json.loads(value)
class PickleCoder(Coder):
@classmethod
def encode(cls, value: Any):
return pickle.dumps(value)
@classmethod
def decode(cls, value: Any):
return pickle.loads(value) # nosec:B403