You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
23 lines
756 B
23 lines
756 B
6 years ago
|
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
|