def _request(self, method, path, **kwargs):
url = self.url_for('api', 'v{self.version}'.format(self=self), *path.split('/'))
try:
headers = self.headers.update(kwargs['headers'])
except KeyError:
headers = self.headers
try:
response = requests.request(method, url, headers=headers, **kwargs)
response.raise_for_status()
return response.json()
except requests.exceptions.ConnectionError:
raise VMFarmsAPIError('Cannot connect to VM Farms API at {}.'.format(self.url))
except requests.exceptions.HTTPError as error:
self._raise_http_error_as_api_error(error)
except ValueError:
raise VMFarmsAPIError('Unexpected response from server.', response)
评论列表
文章目录