mirror of
https://github.com/long2ice/fastapi-cache.git
synced 2026-03-25 04:57:54 +00:00
add cache-control to response after setting the cache
This commit is contained in:
@@ -47,7 +47,7 @@ def cache(
|
|||||||
if ret is not None:
|
if ret is not None:
|
||||||
return coder.decode(ret)
|
return coder.decode(ret)
|
||||||
ret = await func(*args, **kwargs)
|
ret = await func(*args, **kwargs)
|
||||||
await backend.set(cache_key, coder.encode(ret), expire or FastAPICache.get_expire())
|
await backend.set(cache_key, coder.encode(ret), expire)
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
if request.method != "GET":
|
if request.method != "GET":
|
||||||
@@ -64,7 +64,11 @@ def cache(
|
|||||||
return coder.decode(ret)
|
return coder.decode(ret)
|
||||||
|
|
||||||
ret = await func(*args, **kwargs)
|
ret = await func(*args, **kwargs)
|
||||||
await backend.set(cache_key, coder.encode(ret), expire or FastAPICache.get_expire())
|
encoded_ret = coder.encode(ret)
|
||||||
|
await backend.set(cache_key, encoded_ret, expire)
|
||||||
|
response.headers["Cache-Control"] = f"private, max-age={expire}"
|
||||||
|
etag = f"W/{hash(encoded_ret)}"
|
||||||
|
response.headers["ETag"] = etag
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
return inner
|
return inner
|
||||||
|
|||||||
Reference in New Issue
Block a user