fix: hash request kwargs and headers correctly
This commit is contained in:
@@ -97,15 +97,19 @@ class Request:
|
|||||||
}
|
}
|
||||||
|
|
||||||
if include_kwargs:
|
if include_kwargs:
|
||||||
kwargs = (key.lower() for key in self._session_kwargs.keys() if key.lower() not in ("data", "json"))
|
filtered_kwargs = {
|
||||||
data["kwargs"] = "".join(set(_convert_to_bytes(key).hex() for key in kwargs))
|
key.lower(): str(value)
|
||||||
|
for key, value in self._session_kwargs.items()
|
||||||
|
if key.lower() not in ("data", "json")
|
||||||
|
}
|
||||||
|
data["kwargs"] = tuple(sorted(filtered_kwargs.items()))
|
||||||
|
|
||||||
if include_headers:
|
if include_headers:
|
||||||
headers = self._session_kwargs.get("headers") or self._session_kwargs.get("extra_headers") or {}
|
headers = self._session_kwargs.get("headers") or self._session_kwargs.get("extra_headers") or {}
|
||||||
processed_headers = {}
|
processed_headers = {}
|
||||||
# Some header normalization
|
# Some header normalization
|
||||||
for key, value in headers.items():
|
for key, value in headers.items():
|
||||||
processed_headers[_convert_to_bytes(key.lower()).hex()] = _convert_to_bytes(value.lower()).hex()
|
processed_headers[_convert_to_bytes(key.lower()).hex()] = _convert_to_bytes(value).hex()
|
||||||
data["headers"] = tuple(processed_headers.items())
|
data["headers"] = tuple(processed_headers.items())
|
||||||
|
|
||||||
fp = hashlib.sha1(orjson.dumps(data, option=orjson.OPT_SORT_KEYS), usedforsecurity=False).digest()
|
fp = hashlib.sha1(orjson.dumps(data, option=orjson.OPT_SORT_KEYS), usedforsecurity=False).digest()
|
||||||
|
|||||||
Reference in New Issue
Block a user