@@ -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