mirror of
https://github.com/long2ice/fastapi-cache.git
synced 2026-03-25 04:57:54 +00:00
Add support for async key_builder
This commit is contained in:
@@ -47,9 +47,25 @@ def cache(
|
||||
key_builder = key_builder or FastAPICache.get_key_builder()
|
||||
backend = FastAPICache.get_backend()
|
||||
|
||||
cache_key = key_builder(
|
||||
func, namespace, request=request, response=response, args=args, kwargs=copy_kwargs
|
||||
)
|
||||
if inspect.iscoroutinefunction(key_builder):
|
||||
cache_key = await key_builder(
|
||||
func,
|
||||
namespace,
|
||||
request=request,
|
||||
response=response,
|
||||
args=args,
|
||||
kwargs=copy_kwargs
|
||||
)
|
||||
else:
|
||||
cache_key = key_builder(
|
||||
func,
|
||||
namespace,
|
||||
request=request,
|
||||
response=response,
|
||||
args=args,
|
||||
kwargs=copy_kwargs
|
||||
)
|
||||
|
||||
ttl, ret = await backend.get_with_ttl(cache_key)
|
||||
if not request:
|
||||
if ret is not None:
|
||||
|
||||
Reference in New Issue
Block a user