Skip to content
This repository has been archived by the owner on Jan 18, 2025. It is now read-only.

Commit

Permalink
PR feedback
Browse files Browse the repository at this point in the history
  • Loading branch information
kpayson64 committed May 11, 2016
1 parent 3e6d957 commit 94ffe98
Show file tree
Hide file tree
Showing 2 changed files with 26 additions and 15 deletions.
36 changes: 22 additions & 14 deletions oauth2client/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -495,6 +495,26 @@ def _update_query_params(uri, params):
return urllib.parse.urlunparse(new_parts)


def _initialize_headers(headers):
"""Creates a copy of the headers."""
if headers is None:
headers = {}
else:
headers = dict(headers)
return headers


def _apply_user_agent(headers, user_agent):
"""Adds a user-agent to the headers."""
if user_agent is not None:
if 'user-agent' in headers:
headers['user-agent'] = (user_agent + ' ' + headers['user-agent'])
else:
headers['user-agent'] = user_agent

return headers


class OAuth2Credentials(Credentials):
"""Credentials object for OAuth 2.0.
Expand Down Expand Up @@ -598,8 +618,9 @@ def new_request(uri, method='GET', body=None, headers=None,

# Clone and modify the request headers to add the appropriate
# Authorization header.
headers = self._initialize_headers(headers)
headers = _initialize_headers(headers)
self.apply(headers)
_apply_user_agent(headers, self.user_agent)

body_stream_position = None
if all(getattr(body, stream_prop, None) for stream_prop in
Expand Down Expand Up @@ -834,19 +855,6 @@ def _generate_refresh_request_headers(self):

return headers

def _initialize_headers(self, headers):
"""Initialize the headers/apply user_agent as needed."""
if headers is None:
headers = {}
else:
headers = dict(headers)
if self.user_agent is not None:
if 'user-agent' in headers:
headers['user-agent'] = (self.user_agent + ' ' + headers['user-agent'])
else:
headers['user-agent'] = self.user_agent
return headers

def _refresh(self, http_request):
"""Refreshes the access_token.
Expand Down
5 changes: 4 additions & 1 deletion oauth2client/service_account.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,8 @@
from oauth2client._helpers import _from_bytes
from oauth2client._helpers import _urlsafe_b64encode
from oauth2client import util
from oauth2client.client import _apply_user_agent
from oauth2client.client import _initialize_headers
from oauth2client.client import AccessTokenInfo
from oauth2client.client import AssertionCredentials
from oauth2client.client import clean_headers
Expand Down Expand Up @@ -549,8 +551,9 @@ def new_request(uri, method='GET', body=None, headers=None,
else:
# If we don't have an 'aud' (audience) claim,
# create a 1-time token with the uri root as the audience
headers = _initialize_headers(headers)
_apply_user_agent(headers, self.user_agent)
uri_root = uri.split('?', 1)[0]
headers = self._initialize_headers(headers)
token, unused_expiry = self._create_token({'aud': uri_root})

headers['Authorization'] = 'Bearer ' + token
Expand Down

0 comments on commit 94ffe98

Please sign in to comment.