Files
fastapi-cache/fastapi_cache/key_builder.py

26 lines
659 B
Python
Raw Normal View History

import hashlib
2022-11-07 16:39:17 +08:00
from typing import Callable, Optional
from starlette.requests import Request
from starlette.responses import Response
def default_key_builder(
2022-10-22 20:59:37 +04:00
func: Callable,
namespace: str = "",
2021-01-06 10:34:30 +08:00
request: Optional[Request] = None,
response: Optional[Response] = None,
args: Optional[tuple] = None,
kwargs: Optional[dict] = None,
2022-10-22 20:59:37 +04:00
) -> str:
from fastapi_cache import FastAPICache
prefix = f"{FastAPICache.get_prefix()}:{namespace}:"
cache_key = (
2021-03-20 14:47:46 +08:00
prefix
+ hashlib.md5( # nosec:B303
f"{func.__module__}:{func.__name__}:{args}:{kwargs}".encode()
2021-03-20 14:47:46 +08:00
).hexdigest()
)
return cache_key