mirror of
https://github.com/long2ice/fastapi-cache.git
synced 2026-03-25 04:57:54 +00:00
bug fix
This commit is contained in:
@@ -26,7 +26,9 @@ def cache(
|
|||||||
nonlocal coder
|
nonlocal coder
|
||||||
nonlocal expire
|
nonlocal expire
|
||||||
nonlocal key_builder
|
nonlocal key_builder
|
||||||
request = kwargs.get("request")
|
copy_kwargs = kwargs.copy()
|
||||||
|
request = copy_kwargs.pop("request", None)
|
||||||
|
response = copy_kwargs.pop("response", None)
|
||||||
if request and request.headers.get("Cache-Control") == "no-store":
|
if request and request.headers.get("Cache-Control") == "no-store":
|
||||||
return await func(*args, **kwargs)
|
return await func(*args, **kwargs)
|
||||||
|
|
||||||
@@ -34,10 +36,10 @@ def cache(
|
|||||||
expire = expire or FastAPICache.get_expire()
|
expire = expire or FastAPICache.get_expire()
|
||||||
key_builder = key_builder or FastAPICache.get_key_builder()
|
key_builder = key_builder or FastAPICache.get_key_builder()
|
||||||
backend = FastAPICache.get_backend()
|
backend = FastAPICache.get_backend()
|
||||||
copy_kwargs = kwargs.copy()
|
|
||||||
copy_kwargs.pop("request", None)
|
cache_key = key_builder(
|
||||||
copy_kwargs.pop("response", None)
|
func, namespace, request=request, response=response, args=args, kwargs=copy_kwargs
|
||||||
cache_key = key_builder(func, namespace, args=args, kwargs=copy_kwargs)
|
)
|
||||||
ttl, ret = await backend.get_with_ttl(cache_key)
|
ttl, ret = await backend.get_with_ttl(cache_key)
|
||||||
if not request:
|
if not request:
|
||||||
if ret is not None:
|
if ret is not None:
|
||||||
@@ -50,7 +52,6 @@ def cache(
|
|||||||
return await func(request, *args, **kwargs)
|
return await func(request, *args, **kwargs)
|
||||||
if_none_match = request.headers.get("if-none-match")
|
if_none_match = request.headers.get("if-none-match")
|
||||||
if ret is not None:
|
if ret is not None:
|
||||||
response = kwargs.get("response")
|
|
||||||
if response:
|
if response:
|
||||||
response.headers["Cache-Control"] = f"max-age={ttl}"
|
response.headers["Cache-Control"] = f"max-age={ttl}"
|
||||||
etag = f"W/{hash(ret)}"
|
etag = f"W/{hash(ret)}"
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
[tool.poetry]
|
[tool.poetry]
|
||||||
name = "fastapi-cache2"
|
name = "fastapi-cache2"
|
||||||
version = "0.1.3.3"
|
version = "0.1.3.4"
|
||||||
description = "Cache for FastAPI"
|
description = "Cache for FastAPI"
|
||||||
authors = ["long2ice <long2ice@gmail.com>"]
|
authors = ["long2ice <long2ice@gmail.com>"]
|
||||||
license = "Apache-2.0"
|
license = "Apache-2.0"
|
||||||
|
|||||||
Reference in New Issue
Block a user