From 9784b17ea286c6bb07df9de653895d1fd2efd32f Mon Sep 17 00:00:00 2001 From: Arnaud Seilles Date: Tue, 10 Jan 2012 03:25:30 +0100 Subject: [PATCH] Github access_token response is not json in some case (have to check what does the request send as accepts header) --- oauth2/__init__.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/oauth2/__init__.py b/oauth2/__init__.py index dfdb90fe..678a0363 100644 --- a/oauth2/__init__.py +++ b/oauth2/__init__.py @@ -807,8 +807,11 @@ def access_token(self, code, redirect_uri, grant_type=None, response, content = self.http.request(uri) if not response.status == 200: raise Error(str(response.status)) - response_args = simplejson.loads(content) - + try: + response_args = simplejson.loads(content) + except ValueError: + response_args = dict([part.split('=') for part in content.split('&')]) + error = response_args.pop('error', None) if error is not None: raise Error(error)