Skip to content

Commit 9c2424e

Browse files
committed
moved connection to _connection() to accomodate additional call types
1 parent 84f57b4 commit 9c2424e

1 file changed

Lines changed: 38 additions & 62 deletions

File tree

CloudFlare/cloudflare.py

Lines changed: 38 additions & 62 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)