def _request(self, action='GET', url='', data=None, query_params=None):
if data is None:
data = {}
if query_params is None:
query_params = {}
default_headers = {
'Accept': 'application/json',
'Content-Type': 'application/json'
}
query_params['api_key'] = self.options.get('auth_token')
query_params['resultFormat'] = 'JSON'
query_params['api_action'] = url
r = requests.request(action, self.api_endpoint, params=query_params,
data=json.dumps(data),
headers=default_headers)
r.raise_for_status() # if the request fails for any reason, throw an error.
if action == 'DELETE':
return ''
else:
result = r.json()
if len(result['ERRORARRAY']) > 0:
raise Exception('Linode api error: {0}'.format(result['ERRORARRAY']))
return result
评论列表
文章目录