12345678910111213141516171819202122 |
- import json
- from oauthlib.common import to_unicode
- def mailchimp_compliance_fix(session):
- def _null_scope(r):
- token = json.loads(r.text)
- if 'scope' in token and token['scope'] is None:
- token.pop('scope')
- r._content = to_unicode(json.dumps(token)).encode('utf-8')
- return r
- def _non_zero_expiration(r):
- token = json.loads(r.text)
- if 'expires_in' in token and token['expires_in'] == 0:
- token['expires_in'] = 3600
- r._content = to_unicode(json.dumps(token)).encode('utf-8')
- return r
- session.register_compliance_hook('access_token_response', _null_scope)
- session.register_compliance_hook('access_token_response', _non_zero_expiration)
- return session
|