@@ -154,6 +154,43 @@ def call_with_certauth(self, method, parts,
154154 identifier1 , identifier2 , identifier3 ,
155155 params , data , files )
156156
157+ def _connection (self , method , url , headers , params , data , files ):
158+ """ Cloudflare v4 API"""
159+
160+ if self .use_sessions :
161+ if self .session is None :
162+ self .session = requests .Session ()
163+ else :
164+ self .session = requests
165+
166+ method = method .upper ()
167+
168+ if method == 'GET' :
169+ return self .session .get (url , headers = headers , params = params , data = data )
170+ if method == 'POST' :
171+ if isinstance (data , str ):
172+ return self .session .post (url , headers = headers , params = params , data = data , files = files )
173+ else :
174+ return self .session .post (url , headers = headers , params = params , json = data , files = files )
175+ if method == 'PUT' :
176+ if isinstance (data , str ):
177+ return self .session .put (url , headers = headers , params = params , data = data )
178+ else :
179+ return self .session .put (url , headers = headers , params = params , json = data )
180+ if method == 'DELETE' :
181+ if isinstance (data , str ):
182+ return self .session .delete (url , headers = headers , params = params , data = data )
183+ else :
184+ return self .session .delete (url , headers = headers , params = params , json = data )
185+ if method == 'PATCH' :
186+ if isinstance (data , str ):
187+ return self .session .request ('PATCH' , url , headers = headers , params = params , data = data )
188+ else :
189+ return self .session .request ('PATCH' , url , headers = headers , params = params , json = data )
190+
191+ # should never happen
192+ raise CloudFlareAPIError (0 , 'method not supported' )
193+
157194 def _network (self , method , headers , parts ,
158195 identifier1 = None , identifier2 = None , identifier3 = None ,
159196 params = None , data = None , files = None ):
@@ -208,72 +245,11 @@ def _network(self, method, headers, parts,
208245 self .logger .debug ('Call: method and url %s %s' , str (method ), str (url ))
209246 self .logger .debug ('Call: headers %s' , str (sanitize_secrets (headers )))
210247
211- method = method .upper ()
212-
213248 if self .logger :
214249 self .logger .debug ('Call: doit!' )
215250
216- if self .use_sessions :
217- if self .session is None :
218- self .session = requests .Session ()
219- else :
220- self .session = requests
221-
222251 try :
223- if method == 'GET' :
224- response = self .session .get (url ,
225- headers = headers ,
226- params = params ,
227- data = data )
228- elif method == 'POST' :
229- if isinstance (data , str ):
230- response = self .session .post (url ,
231- headers = headers ,
232- params = params ,
233- data = data ,
234- files = files )
235- else :
236- response = self .session .post (url ,
237- headers = headers ,
238- params = params ,
239- json = data ,
240- files = files )
241- elif method == 'PUT' :
242- if isinstance (data , str ):
243- response = self .session .put (url ,
244- headers = headers ,
245- params = params ,
246- data = data )
247- else :
248- response = self .session .put (url ,
249- headers = headers ,
250- params = params ,
251- json = data )
252- elif method == 'DELETE' :
253- if isinstance (data , str ):
254- response = self .session .delete (url ,
255- headers = headers ,
256- params = params ,
257- data = data )
258- else :
259- response = self .session .delete (url ,
260- headers = headers ,
261- params = params ,
262- json = data )
263- elif method == 'PATCH' :
264- if isinstance (data , str ):
265- response = self .session .request ('PATCH' , url ,
266- headers = headers ,
267- params = params ,
268- data = data )
269- else :
270- response = self .session .request ('PATCH' , url ,
271- headers = headers ,
272- params = params ,
273- json = data )
274- else :
275- # should never happen
276- raise CloudFlareAPIError (0 , 'method not supported' )
252+ response = self ._connection (method , url , headers , params , data , files )
277253 if self .logger :
278254 self .logger .debug ('Call: done!' )
279255 except Exception as e :
0 commit comments