|
@@ -37,7 +37,10 @@ def _cache_decorator(func: Callable, query_cache: QueryCache = None, page_cache:
|
|
def wrap(*args, **kwargs):
|
|
def wrap(*args, **kwargs):
|
|
_, _, path, *_ = request.urlparts
|
|
_, _, path, *_ = request.urlparts
|
|
|
|
|
|
|
|
+ endpoint = path.split('/', 2)[-1]
|
|
|
|
+
|
|
query, _hash = normalize_query(request.params)
|
|
query, _hash = normalize_query(request.params)
|
|
|
|
+ query = f"{endpoint}?{query}"
|
|
if not _hash:
|
|
if not _hash:
|
|
_hashInt = get_hash(query)
|
|
_hashInt = get_hash(query)
|
|
_hash = hash_to_base32(_hashInt)
|
|
_hash = hash_to_base32(_hashInt)
|
|
@@ -60,8 +63,8 @@ def _cache_decorator(func: Callable, query_cache: QueryCache = None, page_cache:
|
|
if cached and len(cached) > 2000:
|
|
if cached and len(cached) > 2000:
|
|
return redirect(f"{path}?hash={_hash}")
|
|
return redirect(f"{path}?hash={_hash}")
|
|
|
|
|
|
- if cached and request.query_string != cached:
|
|
|
|
- return redirect(f"{path}?{cached}")
|
|
|
|
|
|
+ if cached and f"{endpoint}?{request.query_string}" != cached:
|
|
|
|
+ return redirect(cached)
|
|
|
|
|
|
return func((cached, key[1]), page_cache, *args, **kwargs)
|
|
return func((cached, key[1]), page_cache, *args, **kwargs)
|
|
return wrap
|
|
return wrap
|