Skip to content

Commit

Permalink
Merge pull request #219 from microsoft/users/tedchamb/dev5
Browse files Browse the repository at this point in the history
 Fix cases where we were not adding custom headers to the request.
  • Loading branch information
tedchamb committed May 20, 2019
2 parents 17ebd25 + 4f311a8 commit 3727230
Show file tree
Hide file tree
Showing 26 changed files with 332 additions and 196 deletions.
6 changes: 5 additions & 1 deletion azure-devops/azure/devops/client.py
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,8 @@ def _send_request(self, request, headers=None, content=None, media_type=None, **
return response

def _send(self, http_method, location_id, version, route_values=None,
query_parameters=None, content=None, media_type='application/json', accept_media_type='application/json'):
query_parameters=None, content=None, media_type='application/json', accept_media_type='application/json',
additional_headers=None):
request = self._create_request_message(http_method=http_method,
location_id=location_id,
route_values=route_values,
Expand All @@ -88,6 +89,9 @@ def _send(self, http_method, location_id, version, route_values=None,
# Construct headers
headers = {'Content-Type': media_type + '; charset=utf-8',
'Accept': accept_media_type + ';api-version=' + negotiated_version}
if additional_headers is not None:
for key in additional_headers:
headers[key] = str(additional_headers[key])
if self.config.additional_headers is not None:
for key in self.config.additional_headers:
headers[key] = self.config.additional_headers[key]
Expand Down
4 changes: 4 additions & 0 deletions azure-devops/azure/devops/released/wiki/wiki_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -109,12 +109,16 @@ def create_or_update_page(self, parameters, project, wiki_identifier, path, vers
query_parameters['path'] = self._serialize.query('path', path, 'str')
if comment is not None:
query_parameters['comment'] = self._serialize.query('comment', comment, 'str')
additional_headers = {}
if version is not None:
additional_headers['If-Match'] = version
content = self._serialize.body(parameters, 'WikiPageCreateOrUpdateParameters')
response = self._send(http_method='PUT',
location_id='25d3fbc7-fe3d-46cb-b5a5-0b6f79caf27b',
version='5.0',
route_values=route_values,
query_parameters=query_parameters,
additional_headers=additional_headers,
content=content)
response_object = models.WikiPageResponse()
response_object.page = self._deserialize('WikiPage', response)
Expand Down
14 changes: 13 additions & 1 deletion azure-devops/azure/devops/v5_0/dashboard/dashboard_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -347,10 +347,14 @@ def get_widgets(self, team_context, dashboard_id, eTag=None):
route_values['team'] = self._serialize.url('team', team, 'string')
if dashboard_id is not None:
route_values['dashboardId'] = self._serialize.url('dashboard_id', dashboard_id, 'str')
additional_headers = {}
if eTag is not None:
additional_headers['ETag'] = eTag
response = self._send(http_method='GET',
location_id='bdcff53a-8355-4172-a00a-40497ea23afc',
version='5.0-preview.2',
route_values=route_values)
route_values=route_values,
additional_headers=additional_headers)
response_object = models.WidgetsVersionedList()
response_object.widgets = self._deserialize('[Widget]', self._unwrap_collection(response))
response_object.eTag = response.headers.get('ETag')
Expand Down Expand Up @@ -422,11 +426,15 @@ def replace_widgets(self, widgets, team_context, dashboard_id, eTag=None):
route_values['team'] = self._serialize.url('team', team, 'string')
if dashboard_id is not None:
route_values['dashboardId'] = self._serialize.url('dashboard_id', dashboard_id, 'str')
additional_headers = {}
if eTag is not None:
additional_headers['ETag'] = eTag
content = self._serialize.body(widgets, '[Widget]')
response = self._send(http_method='PUT',
location_id='bdcff53a-8355-4172-a00a-40497ea23afc',
version='5.0-preview.2',
route_values=route_values,
additional_headers=additional_headers,
content=content)
response_object = models.WidgetsVersionedList()
response_object.widgets = self._deserialize('[Widget]', self._unwrap_collection(response))
Expand Down Expand Up @@ -499,11 +507,15 @@ def update_widgets(self, widgets, team_context, dashboard_id, eTag=None):
route_values['team'] = self._serialize.url('team', team, 'string')
if dashboard_id is not None:
route_values['dashboardId'] = self._serialize.url('dashboard_id', dashboard_id, 'str')
additional_headers = {}
if eTag is not None:
additional_headers['ETag'] = eTag
content = self._serialize.body(widgets, '[Widget]')
response = self._send(http_method='PATCH',
location_id='bdcff53a-8355-4172-a00a-40497ea23afc',
version='5.0-preview.2',
route_values=route_values,
additional_headers=additional_headers,
content=content)
response_object = models.WidgetsVersionedList()
response_object.widgets = self._deserialize('[Widget]', self._unwrap_collection(response))
Expand Down
48 changes: 47 additions & 1 deletion azure-devops/azure/devops/v5_0/gallery/gallery_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -160,11 +160,15 @@ def get_asset_by_name(self, publisher_name, extension_name, version, asset_type,
query_parameters['accountToken'] = self._serialize.query('account_token', account_token, 'str')
if accept_default is not None:
query_parameters['acceptDefault'] = self._serialize.query('accept_default', accept_default, 'bool')
additional_headers = {}
if account_token_header is not None:
additional_headers['X-Market-AccountToken'] = account_token_header
response = self._send(http_method='GET',
location_id='7529171f-a002-4180-93ba-685f358a0482',
version='5.0-preview.1',
route_values=route_values,
query_parameters=query_parameters,
additional_headers=additional_headers,
accept_media_type='application/octet-stream')
if "callback" in kwargs:
callback = kwargs["callback"]
Expand Down Expand Up @@ -195,11 +199,15 @@ def get_asset(self, extension_id, version, asset_type, account_token=None, accep
query_parameters['accountToken'] = self._serialize.query('account_token', account_token, 'str')
if accept_default is not None:
query_parameters['acceptDefault'] = self._serialize.query('accept_default', accept_default, 'bool')
additional_headers = {}
if account_token_header is not None:
additional_headers['X-Market-AccountToken'] = account_token_header
response = self._send(http_method='GET',
location_id='5d545f3d-ef47-488b-8be3-f5ee1517856c',
version='5.0-preview.1',
route_values=route_values,
query_parameters=query_parameters,
additional_headers=additional_headers,
accept_media_type='application/octet-stream')
if "callback" in kwargs:
callback = kwargs["callback"]
Expand Down Expand Up @@ -230,11 +238,15 @@ def get_asset_authenticated(self, publisher_name, extension_name, version, asset
query_parameters = {}
if account_token is not None:
query_parameters['accountToken'] = self._serialize.query('account_token', account_token, 'str')
additional_headers = {}
if account_token_header is not None:
additional_headers['X-Market-AccountToken'] = account_token_header
response = self._send(http_method='GET',
location_id='506aff36-2622-4f70-8063-77cce6366d20',
version='5.0-preview.1',
route_values=route_values,
query_parameters=query_parameters,
additional_headers=additional_headers,
accept_media_type='application/octet-stream')
if "callback" in kwargs:
callback = kwargs["callback"]
Expand Down Expand Up @@ -490,6 +502,9 @@ def update_payload_in_draft_for_edit_extension(self, upload_stream, publisher_na
route_values['extensionName'] = self._serialize.url('extension_name', extension_name, 'str')
if draft_id is not None:
route_values['draftId'] = self._serialize.url('draft_id', draft_id, 'str')
additional_headers = {}
if file_name is not None:
additional_headers['X-Market-UploadFileName'] = file_name
if "callback" in kwargs:
callback = kwargs["callback"]
else:
Expand All @@ -499,6 +514,7 @@ def update_payload_in_draft_for_edit_extension(self, upload_stream, publisher_na
location_id='02b33873-4e61-496e-83a2-59d1df46b7d8',
version='5.0-preview.1',
route_values=route_values,
additional_headers=additional_headers,
content=content,
media_type='application/octet-stream')
return self._deserialize('ExtensionDraft', response)
Expand Down Expand Up @@ -547,6 +563,11 @@ def create_draft_for_new_extension(self, upload_stream, publisher_name, product,
route_values = {}
if publisher_name is not None:
route_values['publisherName'] = self._serialize.url('publisher_name', publisher_name, 'str')
additional_headers = {}
if product is not None:
additional_headers['X-Market-UploadFileProduct'] = product
if file_name is not None:
additional_headers['X-Market-UploadFileName'] = file_name
if "callback" in kwargs:
callback = kwargs["callback"]
else:
Expand All @@ -556,6 +577,7 @@ def create_draft_for_new_extension(self, upload_stream, publisher_name, product,
location_id='b3ab127d-ebb9-4d22-b611-4e09593c8d79',
version='5.0-preview.1',
route_values=route_values,
additional_headers=additional_headers,
content=content,
media_type='application/octet-stream')
return self._deserialize('ExtensionDraft', response)
Expand Down Expand Up @@ -595,6 +617,9 @@ def update_payload_in_draft_for_new_extension(self, upload_stream, publisher_nam
route_values['publisherName'] = self._serialize.url('publisher_name', publisher_name, 'str')
if draft_id is not None:
route_values['draftId'] = self._serialize.url('draft_id', draft_id, 'str')
additional_headers = {}
if file_name is not None:
additional_headers['X-Market-UploadFileName'] = file_name
if "callback" in kwargs:
callback = kwargs["callback"]
else:
Expand All @@ -604,6 +629,7 @@ def update_payload_in_draft_for_new_extension(self, upload_stream, publisher_nam
location_id='b3ab127d-ebb9-4d22-b611-4e09593c8d79',
version='5.0-preview.1',
route_values=route_values,
additional_headers=additional_headers,
content=content,
media_type='application/octet-stream')
return self._deserialize('ExtensionDraft', response)
Expand Down Expand Up @@ -748,11 +774,15 @@ def query_extensions(self, extension_query, account_token=None, account_token_he
query_parameters = {}
if account_token is not None:
query_parameters['accountToken'] = self._serialize.query('account_token', account_token, 'str')
additional_headers = {}
if account_token_header is not None:
additional_headers['X-Market-AccountToken'] = account_token_header
content = self._serialize.body(extension_query, 'ExtensionQuery')
response = self._send(http_method='POST',
location_id='eb9d5ee1-6d43-456b-b80e-8a96fbc014b6',
version='5.0-preview.1',
query_parameters=query_parameters,
additional_headers=additional_headers,
content=content)
return self._deserialize('ExtensionQueryResult', response)

Expand Down Expand Up @@ -897,11 +927,15 @@ def get_extension(self, publisher_name, extension_name, version=None, flags=None
query_parameters['flags'] = self._serialize.query('flags', flags, 'str')
if account_token is not None:
query_parameters['accountToken'] = self._serialize.query('account_token', account_token, 'str')
additional_headers = {}
if account_token_header is not None:
additional_headers['X-Market-AccountToken'] = account_token_header
response = self._send(http_method='GET',
location_id='e11ea35a-16fe-4b80-ab11-c4cab88a0966',
version='5.0-preview.2',
route_values=route_values,
query_parameters=query_parameters)
query_parameters=query_parameters,
additional_headers=additional_headers)
return self._deserialize('PublishedExtension', response)

def update_extension(self, upload_stream, publisher_name, extension_name, bypass_scope_check=None, **kwargs):
Expand Down Expand Up @@ -1047,11 +1081,15 @@ def get_package(self, publisher_name, extension_name, version, account_token=Non
query_parameters['accountToken'] = self._serialize.query('account_token', account_token, 'str')
if accept_default is not None:
query_parameters['acceptDefault'] = self._serialize.query('accept_default', accept_default, 'bool')
additional_headers = {}
if account_token_header is not None:
additional_headers['X-Market-AccountToken'] = account_token_header
response = self._send(http_method='GET',
location_id='7cb576f8-1cae-4c4b-b7b1-e4af5759e965',
version='5.0-preview.1',
route_values=route_values,
query_parameters=query_parameters,
additional_headers=additional_headers,
accept_media_type='application/octet-stream')
if "callback" in kwargs:
callback = kwargs["callback"]
Expand Down Expand Up @@ -1088,11 +1126,15 @@ def get_asset_with_token(self, publisher_name, extension_name, version, asset_ty
query_parameters['accountToken'] = self._serialize.query('account_token', account_token, 'str')
if accept_default is not None:
query_parameters['acceptDefault'] = self._serialize.query('accept_default', accept_default, 'bool')
additional_headers = {}
if account_token_header is not None:
additional_headers['X-Market-AccountToken'] = account_token_header
response = self._send(http_method='GET',
location_id='364415a1-0077-4a41-a7a0-06edd4497492',
version='5.0-preview.1',
route_values=route_values,
query_parameters=query_parameters,
additional_headers=additional_headers,
accept_media_type='application/octet-stream')
if "callback" in kwargs:
callback = kwargs["callback"]
Expand Down Expand Up @@ -1158,6 +1200,9 @@ def update_publisher_asset(self, upload_stream, publisher_name, asset_type=None,
query_parameters = {}
if asset_type is not None:
query_parameters['assetType'] = self._serialize.query('asset_type', asset_type, 'str')
additional_headers = {}
if file_name is not None:
additional_headers['X-Market-UploadFileName'] = file_name
if "callback" in kwargs:
callback = kwargs["callback"]
else:
Expand All @@ -1168,6 +1213,7 @@ def update_publisher_asset(self, upload_stream, publisher_name, asset_type=None,
version='5.0-preview.1',
route_values=route_values,
query_parameters=query_parameters,
additional_headers=additional_headers,
content=content,
media_type='application/octet-stream')
return self._deserialize('{str}', self._unwrap_collection(response))
Expand Down
4 changes: 4 additions & 0 deletions azure-devops/azure/devops/v5_0/wiki/wiki_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -109,12 +109,16 @@ def create_or_update_page(self, parameters, project, wiki_identifier, path, vers
query_parameters['path'] = self._serialize.query('path', path, 'str')
if comment is not None:
query_parameters['comment'] = self._serialize.query('comment', comment, 'str')
additional_headers = {}
if version is not None:
additional_headers['If-Match'] = version
content = self._serialize.body(parameters, 'WikiPageCreateOrUpdateParameters')
response = self._send(http_method='PUT',
location_id='25d3fbc7-fe3d-46cb-b5a5-0b6f79caf27b',
version='5.0',
route_values=route_values,
query_parameters=query_parameters,
additional_headers=additional_headers,
content=content)
response_object = models.WikiPageResponse()
response_object.page = self._deserialize('WikiPage', response)
Expand Down
Loading

0 comments on commit 3727230

Please sign in to comment.