Skip to content

Commit

Permalink
support for CTM errors, cleaner exceptions for invalid methods, clear…
Browse files Browse the repository at this point in the history
…er cert exception message
  • Loading branch information
mahtin committed Oct 25, 2016
1 parent e0336e1 commit f107f40
Showing 1 changed file with 56 additions and 5 deletions.
61 changes: 56 additions & 5 deletions CloudFlare/cloudflare.py
Original file line number Diff line number Diff line change
Expand Up @@ -78,7 +78,7 @@ def call_with_certauth(self, method,
""" Cloudflare v4 API"""

if self.certtoken is '':
raise CloudFlareAPIError(0, 'no email and/or cert token defined')
raise CloudFlareAPIError(0, 'no cert token defined')
headers = {
'X-Auth-User-Service-Key': self.certtoken,
'Content-Type': 'application/json'
Expand Down Expand Up @@ -185,10 +185,16 @@ def _call(self, method, headers,
identifier1, identifier2,
params, data)
if response_data['success'] is False:
code = response_data['errors'][0]['code']
message = response_data['errors'][0]['message']
if 'error_chain' in response_data['errors'][0]:
error_chain = response_data['errors'][0]['error_chain']
errors = response_data['errors'][0]
code = errors['code']
if 'message' in errors:
message = errors['message']
elif 'error' in errors:
message = errors['error']
else:
message = ''
if 'error_chain' in errors:
error_chain = errors['error_chain']
for error in error_chain:
if self.logger:
self.logger.debug('Response: error %d %s - chain' % (error['code'], error['message']))
Expand Down Expand Up @@ -226,6 +232,31 @@ def __init__(self, base, api_call_part1, api_call_part2=None, api_call_part3=Non
self.api_call_part2 = api_call_part2
self.api_call_part3 = api_call_part3

def get(self, identifier1=None, identifier2=None, params=None, data=None):
""" Cloudflare v4 API"""

raise CloudFlareAPIError(0, 'get() call not available for this endpoint')

def patch(self, identifier1=None, identifier2=None, params=None, data=None):
""" Cloudflare v4 API"""

raise CloudFlareAPIError(0, 'patch() call not available for this endpoint')

def post(self, identifier1=None, identifier2=None, params=None, data=None):
""" Cloudflare v4 API"""

raise CloudFlareAPIError(0, 'post() call not available for this endpoint')

def put(self, identifier1=None, identifier2=None, params=None, data=None):
""" Cloudflare v4 API"""

raise CloudFlareAPIError(0, 'put() call not available for this endpoint')

def delete(self, identifier1=None, identifier2=None, params=None, data=None):
""" Cloudflare v4 API"""

raise CloudFlareAPIError(0, 'delete() call not available for this endpoint')

class _add_noauth(object):
""" Cloudflare v4 API"""

Expand All @@ -247,6 +278,26 @@ def get(self, identifier1=None, identifier2=None, params=None, data=None):
identifier1, identifier2,
params, data)

def patch(self, identifier1=None, identifier2=None, params=None, data=None):
""" Cloudflare v4 API"""

raise CloudFlareAPIError(0, 'patch() call not available for this endpoint')

def post(self, identifier1=None, identifier2=None, params=None, data=None):
""" Cloudflare v4 API"""

raise CloudFlareAPIError(0, 'post() call not available for this endpoint')

def put(self, identifier1=None, identifier2=None, params=None, data=None):
""" Cloudflare v4 API"""

raise CloudFlareAPIError(0, 'put() call not available for this endpoint')

def delete(self, identifier1=None, identifier2=None, params=None, data=None):
""" Cloudflare v4 API"""

raise CloudFlareAPIError(0, 'delete() call not available for this endpoint')

class _add_with_auth(object):
""" Cloudflare v4 API"""

Expand Down

0 comments on commit f107f40

Please sign in to comment.