diff options
Diffstat (limited to 'github3')
-rw-r--r-- | github3/api.py | 14 |
1 files changed, 12 insertions, 2 deletions
diff --git a/github3/api.py b/github3/api.py index 049aea1..87aca4d 100644 --- a/github3/api.py +++ b/github3/api.py @@ -25,6 +25,8 @@ class GithubCore(object): _rate_limit = None _rate_limit_remaining = None + def __init__(self): + self.session = requests.session() @staticmethod def _resource_serialize(o): @@ -70,7 +72,7 @@ class GithubCore(object): return r - def _http_resource(self, verb, endpoint, params=None, authed=True): + def _http_resource(self, verb, endpoint, params=None, authed=True, **etc): url = self._generate_url(endpoint) @@ -80,7 +82,9 @@ class GithubCore(object): args = (verb, url) kwargs = {'params': params} - r = requests.request(*args, **kwargs) + kwargs.update(etc) + + r = self.session.request(*args, **kwargs) r = self._requests_post_hook(r) # print self._ratelimit_remaining @@ -97,6 +101,12 @@ class GithubCore(object): return obj.new_from_dict(item, gh=self) + def _patch_resource(self, resource, data, authed=True, **kwargs): + r = self._http_resource('PATCH', resource, data=data, params=kwargs, authed=authed) + msg = self._resource_deserialize(r.content) + + return msg + def _get_resources(self, resource, obj, authed=True, **kwargs): |