mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-03-12 04:35:40 -07:00
* Bump requests-oauthlib from 1.3.1 to 2.0.0 Bumps [requests-oauthlib](https://github.com/requests/requests-oauthlib) from 1.3.1 to 2.0.0. - [Release notes](https://github.com/requests/requests-oauthlib/releases) - [Changelog](https://github.com/requests/requests-oauthlib/blob/master/HISTORY.rst) - [Commits](https://github.com/requests/requests-oauthlib/compare/v1.3.1...v2.0.0) --- updated-dependencies: - dependency-name: requests-oauthlib dependency-type: direct:production update-type: version-update:semver-major ... Signed-off-by: dependabot[bot] <support@github.com> * Update requests-oauthlib==2.0.0 --------- Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: JonnyWong16 <9099342+JonnyWong16@users.noreply.github.com> [skip ci]
28 lines
995 B
Python
28 lines
995 B
Python
from json import dumps
|
|
from urllib.parse import parse_qsl
|
|
|
|
|
|
def facebook_compliance_fix(session):
|
|
def _compliance_fix(r):
|
|
# if Facebook claims to be sending us json, let's trust them.
|
|
if "application/json" in r.headers.get("content-type", {}):
|
|
return r
|
|
|
|
# Facebook returns a content-type of text/plain when sending their
|
|
# x-www-form-urlencoded responses, along with a 200. If not, let's
|
|
# assume we're getting JSON and bail on the fix.
|
|
if "text/plain" in r.headers.get("content-type", {}) and r.status_code == 200:
|
|
token = dict(parse_qsl(r.text, keep_blank_values=True))
|
|
else:
|
|
return r
|
|
|
|
expires = token.get("expires")
|
|
if expires is not None:
|
|
token["expires_in"] = expires
|
|
token["token_type"] = "Bearer"
|
|
r._content = dumps(token).encode()
|
|
return r
|
|
|
|
session.register_compliance_hook("access_token_response", _compliance_fix)
|
|
return session
|