requests api
This commit is contained in:
parent
3f5946c43c
commit
7dfa5e1da7
|
@ -0,0 +1,36 @@
|
||||||
|
import requests
|
||||||
|
|
||||||
|
#from dependencies.request_api import RequestsApi
|
||||||
|
#call = RequestsApi("https://google.com")
|
||||||
|
#r = call.get("/")
|
||||||
|
|
||||||
|
class RequestsApi:
|
||||||
|
def __init__(self, base_url, **kwargs):
|
||||||
|
self.base_url = base_url
|
||||||
|
self.session = requests.Session()
|
||||||
|
for arg in kwargs:
|
||||||
|
if isinstance(kwargs[arg], dict):
|
||||||
|
kwargs[arg] = self.deep_merge(getattr(self.session, arg), kwargs[arg])
|
||||||
|
setattr(self.session, arg, kwargs[arg])
|
||||||
|
|
||||||
|
def request(self, method, url, **kwargs):
|
||||||
|
return self.session.request(method, self.base_url+url, allow_redirects = False, **kwargs)
|
||||||
|
|
||||||
|
def head(self, url, **kwargs):
|
||||||
|
return self.session.head(self.base_url+url, allow_redirects = False, **kwargs)
|
||||||
|
|
||||||
|
def get(self, url, **kwargs):
|
||||||
|
return self.session.get(self.base_url+url, allow_redirects = False, **kwargs)
|
||||||
|
|
||||||
|
def post(self, url, **kwargs):
|
||||||
|
return self.session.post(self.base_url+url, allow_redirects = False, **kwargs)
|
||||||
|
|
||||||
|
@staticmethod
|
||||||
|
def deep_merge(source, destination):<
|
||||||
|
for key, value in source.items():
|
||||||
|
if isinstance(value, dict):
|
||||||
|
node = destination.setdefault(key, {})
|
||||||
|
RequestsApi.deep_merge(value, node)
|
||||||
|
else:
|
||||||
|
destination[key] = value
|
||||||
|
return destination
|
Loading…
Reference in New Issue