Commit f318a69d by Marlon

Enable session token support.

parent ba9b2f65
...@@ -26,6 +26,7 @@ ACCESS_KEYS = {} ...@@ -26,6 +26,7 @@ ACCESS_KEYS = {}
# Connection can sometimes hang forever on SSL handshake # Connection can sometimes hang forever on SSL handshake
CONNECTION_TIMEOUT = 60 CONNECTION_TIMEOUT = 60
def register(app_id, rest_key, **kw): def register(app_id, rest_key, **kw):
global ACCESS_KEYS global ACCESS_KEYS
ACCESS_KEYS = { ACCESS_KEYS = {
...@@ -35,6 +36,18 @@ def register(app_id, rest_key, **kw): ...@@ -35,6 +36,18 @@ def register(app_id, rest_key, **kw):
ACCESS_KEYS.update(**kw) ACCESS_KEYS.update(**kw)
class SessionToken:
def __init__(self, token):
global ACCESS_KEYS
self.token = token
def __enter__(self):
ACCESS_KEYS.update({'session_token': self.token})
def __exit__(self, type, value, traceback):
ACCESS_KEYS['session_token']
def master_key_required(func): def master_key_required(func):
'''decorator describing methods that require the master key''' '''decorator describing methods that require the master key'''
def ret(obj, *args, **kw): def ret(obj, *args, **kw):
...@@ -89,6 +102,9 @@ class ParseBase(object): ...@@ -89,6 +102,9 @@ class ParseBase(object):
headers.update(extra_headers or {}) headers.update(extra_headers or {})
request = Request(url, data, headers) request = Request(url, data, headers)
if ACCESS_KEYS.get('session_token'):
request.add_header('X-Parse-Session-Token', ACCESS_KEYS.get('session_token'))
if master_key and 'X-Parse-Session-Token' not in headers.keys(): if master_key and 'X-Parse-Session-Token' not in headers.keys():
request.add_header('X-Parse-Master-Key', master_key) request.add_header('X-Parse-Master-Key', master_key)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment