diff options
author | Jordan Cook <JWCook@users.noreply.github.com> | 2022-01-01 11:59:31 -0600 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-01-01 11:59:31 -0600 |
commit | 347048289ed25ec847a40dc5971ee8a538b4aebf (patch) | |
tree | 8df10317b336cbcaaf3cd370df04983230b109c1 | |
parent | 71ea5213bace27e64ae1c9e21b949ce98dc432cc (diff) | |
parent | 99b77935f1eac273b27c495c10d906567ff75cc0 (diff) | |
download | requests-cache-347048289ed25ec847a40dc5971ee8a538b4aebf.tar.gz |
Merge pull request #474 from grubberr/improve_get_matched_headers
make order of headers repeatable
-rw-r--r-- | HISTORY.md | 1 | ||||
-rw-r--r-- | requests_cache/cache_keys.py | 4 |
2 files changed, 4 insertions, 1 deletions
@@ -23,6 +23,7 @@ * Some micro-optimizations for request matching **Bugfixes:** +* Fix regression bug causing headers used for cache key to not guarantee sort order * Handle some additional corner cases when normalizing request data * Add support for `BaseCache` keyword arguments passed along with a backend instance * Fix issue with cache headers not being used correctly if `cache_control=True` is used with an `expire_after` value diff --git a/requests_cache/cache_keys.py b/requests_cache/cache_keys.py index d2a92cf..7029c7f 100644 --- a/requests_cache/cache_keys.py +++ b/requests_cache/cache_keys.py @@ -81,7 +81,9 @@ def get_matched_headers( else: included = set(headers) - DEFAULT_EXCLUDE_HEADERS - return [f'{k.lower()}={headers[k]}' for k in included if k in headers] + return [ + f'{k.lower()}={headers[k]}' for k in sorted(included, key=lambda x: x.lower()) if k in headers + ] def normalize_request(request: AnyRequest, ignored_parameters: ParamList) -> AnyPreparedRequest: |