Skip to content

Commit efefa62

Browse files
committed
fix post and delete + add purge_cache
1 parent c37584d commit efefa62

1 file changed

Lines changed: 15 additions & 8 deletions

File tree

cloudflare_v4/__init__.py

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ def __init__(self, email, token, debug):
1515
self.TOKEN = token
1616
self.logger = logger.Logger(debug).getLogger()
1717

18-
def call(self, method, main_endpoint, endpoint=None, params=None):
18+
def call(self, method, main_endpoint, endpoint=None, params=None, data=None):
1919
headers = { "X-Auth-Email": self.EMAIL, "X-Auth-Key": self.TOKEN }
2020
if endpoint is not None:
2121
url = BASE_URL + '/' + main_endpoint + '/' + params + '/' + endpoint
@@ -27,6 +27,7 @@ def call(self, method, main_endpoint, endpoint=None, params=None):
2727
self.logger.debug("method type is: " + method)
2828
self.logger.debug("url endpoint is: " + url)
2929
self.logger.debug("optional params is: " + str(params))
30+
self.logger.debug("optional data is: " + str(data))
3031
if (method is None) or (main_endpoint is None):
3132
raise CloudFlareError('You must specify a method and endpoint') # should never happen
3233
else:
@@ -35,9 +36,9 @@ def call(self, method, main_endpoint, endpoint=None, params=None):
3536
response = requests.get(url, headers=headers, params=params)
3637
elif method == 'POST':
3738
headers['Content-Type'] = 'application/json'
38-
response = requests.post(url, headers=headers, json=params)
39+
response = requests.post(url, headers=headers, json=data)
3940
elif method == 'DELETE':
40-
response = requests.delete(url, headers=headers, json=params)
41+
response = requests.delete(url, headers=headers, json=data)
4142
data = response.text
4243
self.logger.debug("data received: " + data)
4344
try:
@@ -51,6 +52,9 @@ def call(self, method, main_endpoint, endpoint=None, params=None):
5152

5253
class DynamicClient:
5354
def __init__(self, base_client, main_endpoint, endpoint=None):
55+
base_client.logger.debug("base client is: " + str(base_client))
56+
base_client.logger.debug("main endpoint is: " + str(main_endpoint))
57+
base_client.logger.debug("endpoint is: " + str(endpoint))
5458
self.base_client = base_client
5559
self.main_endpoint = main_endpoint
5660
self.endpoint = endpoint
@@ -59,17 +63,20 @@ def get(self, params=None):
5963
return self.base_client.call('GET', self.main_endpoint,
6064
self.endpoint, params)
6165

62-
def post(self, params=None):
66+
def post(self, params=None, data=None):
6367
return self.base_client.call('POST', self.main_endpoint,
64-
self.endpoint, params)
68+
self.endpoint, params, data)
6569

66-
def delete(self, params=None):
70+
def delete(self, params=None, data=None):
6771
return self.base_client.call('DELETE', self.main_endpoint,
68-
self.endpoint, params)
72+
self.endpoint, params, data)
6973

7074
def __init__(self, email, token, debug):
7175
self.base_client = self.BaseClient(email, token, debug)
7276
setattr(self, "zones", self.DynamicClient(self.base_client, "zones"))
7377
setattr(self, "user", self.DynamicClient(self.base_client, "user"))
7478
zones = getattr(self, "zones")
75-
setattr(zones, "dns_records", self.DynamicClient(self.base_client, "zones", "dns_records"))
79+
setattr(zones, "dns_records", self.DynamicClient(self.base_client,
80+
"zones", "dns_records"))
81+
setattr(zones, "purge_cache", self.DynamicClient(self.base_client,
82+
"zones", "purge_cache"))

0 commit comments

Comments
 (0)