diff options
author | S. Solomon Darnell | 2025-03-28 21:52:21 -0500 |
---|---|---|
committer | S. Solomon Darnell | 2025-03-28 21:52:21 -0500 |
commit | 4a52a71956a8d46fcb7294ac71734504bb09bcc2 (patch) | |
tree | ee3dc5af3b6313e921cd920906356f5d4febc4ed /.venv/lib/python3.12/site-packages/requests_oauthlib/compliance_fixes/plentymarkets.py | |
parent | cc961e04ba734dd72309fb548a2f97d67d578813 (diff) | |
download | gn-ai-master.tar.gz |
Diffstat (limited to '.venv/lib/python3.12/site-packages/requests_oauthlib/compliance_fixes/plentymarkets.py')
-rw-r--r-- | .venv/lib/python3.12/site-packages/requests_oauthlib/compliance_fixes/plentymarkets.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/requests_oauthlib/compliance_fixes/plentymarkets.py b/.venv/lib/python3.12/site-packages/requests_oauthlib/compliance_fixes/plentymarkets.py new file mode 100644 index 00000000..859f0566 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/requests_oauthlib/compliance_fixes/plentymarkets.py @@ -0,0 +1,27 @@ +from json import dumps, loads +import re + + +def plentymarkets_compliance_fix(session): + def _to_snake_case(n): + return re.sub("(.)([A-Z][a-z]+)", r"\1_\2", n).lower() + + def _compliance_fix(r): + # Plenty returns the Token in CamelCase instead of _ + if ( + "application/json" in r.headers.get("content-type", {}) + and r.status_code == 200 + ): + token = loads(r.text) + else: + return r + + fixed_token = {} + for k, v in token.items(): + fixed_token[_to_snake_case(k)] = v + + r._content = dumps(fixed_token).encode() + return r + + session.register_compliance_hook("access_token_response", _compliance_fix) + return session |