diff --git a/fastapi_cache/decorator.py b/fastapi_cache/decorator.py index 091da3f..625b69c 100644 --- a/fastapi_cache/decorator.py +++ b/fastapi_cache/decorator.py @@ -116,24 +116,17 @@ def cache( key_builder = key_builder or FastAPICache.get_key_builder() backend = FastAPICache.get_backend() - 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, - ) + cache_key = key_builder( + func, + namespace, + request=request, + response=response, + args=args, + kwargs=copy_kwargs, + ) + if inspect.isawaitable(cache_key): + cache_key = await cache_key + try: ttl, ret = await backend.get_with_ttl(cache_key) except Exception: