Skip to content

Commit 9e3a612

Browse files
committed
Add api request utility module
1 parent ae6f9cd commit 9e3a612

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

utils/request.py

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
from dataclasses import dataclass
2+
3+
import requests
4+
5+
6+
@dataclass
7+
class Response:
8+
status_code: int
9+
text: str
10+
as_dict: object
11+
headers: dict
12+
13+
14+
class APIRequest:
15+
def post_request(self, url, payload, headers):
16+
response = requests.post(url=url, data=payload, headers=headers)
17+
return self.__get_responses(response)
18+
19+
def get_request(self, url, headers):
20+
response = requests.get(url=url, headers=headers)
21+
return self.__get_responses(response)
22+
23+
def put_request(self, url, payload, headers):
24+
response = requests.put(url=url, data=payload, headers=headers)
25+
return self.__get_responses(response)
26+
27+
def delete_request(self, url, headers):
28+
response = requests.delete(url=url, data=None, headers=headers)
29+
return self.__get_responses(response)
30+
31+
@staticmethod
32+
def __get_responses(response):
33+
status_code = response.status_code
34+
text = response.text
35+
try:
36+
as_dict = response.json()
37+
except ValueError:
38+
as_dict = {}
39+
headers = response.headers
40+
return Response(status_code, text, as_dict, headers)

0 commit comments

Comments
 (0)