1+ """
2+ Helper classes used by other API clients.
3+ """
4+
15import requests
26
3- class BaseClient (object ):
7+
8+ class BaseClient :
9+ """
10+ Base client for accessing web-based APIs.
11+ """
412 def __init__ (self , base_url : str ):
513 self .base_url = base_url
614
715 def _resolve_url (self , url : str ) -> str :
8- if url .startswith ('/' ):
16+ if url .startswith ("/" ):
917 url = self .base_url + url
1018 return url
1119
12- def _get (self , url : str , params : dict = None , headers : dict = None ) -> requests .Response :
20+ def _get (self , url : str , ** kwargs ) -> requests .Response :
1321 url = self ._resolve_url (url )
14- response = requests .get (url , params = params , headers = headers )
22+ response = requests .get (url , ** kwargs )
1523 response .raise_for_status ()
1624 return response
1725
18- def _post (self , url : str , form : dict = None , json : dict = None , buff = None , params : dict = None , headers : dict = None ) -> requests .Response :
26+ def _post (
27+ self , url : str , form : dict = None , json : dict = None , buff = None , ** kwargs
28+ ) -> requests .Response :
1929 url = self ._resolve_url (url )
2030 response = None
2131 if form :
22- response = requests .post (url , data = form , params = params , headers = headers )
32+ response = requests .post (url , data = form , ** kwargs )
2333 elif form :
24- response = requests .post (url , data = buff , params = params , headers = headers )
34+ response = requests .post (url , data = buff , ** kwargs )
2535 elif json :
26- response = requests .post (url , json = json , params = params , headers = headers )
36+ response = requests .post (url , json = json , ** kwargs )
2737 else :
28- response = requests .post (url , params = params , headers = headers )
38+ response = requests .post (url , ** kwargs )
2939 response .raise_for_status ()
3040 return response
3141
32- def _put (self , url : str , form : dict = None , json : dict = None , buff = None , params : dict = None , headers : dict = None ) -> requests .Response :
42+ def _put (
43+ self , url : str , form : dict = None , json : dict = None , buff = None , ** kwargs
44+ ) -> requests .Response :
3345 url = self ._resolve_url (url )
3446 response = None
3547 if form :
36- response = requests .put (url , data = form , params = params , headers = headers )
48+ response = requests .put (url , data = form , ** kwargs )
3749 elif buff :
38- response = requests .put (url , data = buff , params = params , headers = headers )
50+ response = requests .put (url , data = buff , ** kwargs )
3951 elif json :
40- response = requests .put (url , json = json , params = params , headers = headers )
52+ response = requests .put (url , json = json , ** kwargs )
4153 else :
42- response = requests .put (url , params = params , headers = headers )
54+ response = requests .put (url , ** kwargs )
4355 response .raise_for_status ()
4456 return response
45-
46- def _delete (self , url : str , params : dict = None , headers : dict = None ) -> requests .Response :
57+
58+ def _delete (self , url : str , ** kwargs ) -> requests .Response :
4759 url = self ._resolve_url (url )
48- response = requests .delete (url , params = params , headers = headers )
60+ response = requests .delete (url , ** kwargs )
4961 response .raise_for_status ()
50- return response
62+ return response
0 commit comments