Coretex
coretex.networking.requests_manager.RequestsManager Class Reference

Public Member Functions

NetworkResponse genericRequest (self, RequestType requestType, str endpoint, Optional[Dict[str, str]] headers=None, Any data=None, Any files=None, int retryCount=0)
 
NetworkResponse get (self, str endpoint, Optional[Dict[str, str]] headers=None, Any data=None, Any jsonObject=None, int retryCount=0)
 
NetworkResponse post (self, str endpoint, Optional[Dict[str, str]] headers=None, Any data=None, Any jsonObject=None, int retryCount=0)
 

Detailed Description

    Represents class that is used for handling requests

Definition at line 34 of file requests_manager.py.

Member Function Documentation

◆ genericRequest()

NetworkResponse coretex.networking.requests_manager.RequestsManager.genericRequest (   self,
RequestType  requestType,
str  endpoint,
Optional[Dict[str, str]]   headers = None,
Any   data = None,
Any   files = None,
int   retryCount = 0 
)
    Sends generic HTTP request

    Parameters
    ----------
    requestType : RequestType
request type
    endpoint : str
API endpoint
    headers : Optional[Dict[str, str]]
headers (not required)
    data : Any
(not required)
    files : Any
(not required)
    retryCount : int
number of function calls if request has failed

    Returns
    -------
    NetworkResponse -> NetworkResponse object as response content to request

Definition at line 55 of file requests_manager.py.

55  def genericRequest(
56  self,
57  requestType: RequestType,
58  endpoint: str,
59  headers: Optional[Dict[str, str]] = None,
60  data: Any = None,
61  files: Any = None,
62  retryCount: int = 0
63  ) -> NetworkResponse:
64  """
65  Sends generic HTTP request
66 
67  Parameters
68  ----------
69  requestType : RequestType
70  request type
71  endpoint : str
72  API endpoint
73  headers : Optional[Dict[str, str]]
74  headers (not required)
75  data : Any
76  (not required)
77  files : Any
78  (not required)
79  retryCount : int
80  number of function calls if request has failed
81 
82  Returns
83  -------
84  NetworkResponse -> NetworkResponse object as response content to request
85  """
86 
87  logging.getLogger("coretexpylib").debug(f"Sending request {requestType}, {endpoint}, HEADERS: {headers}, DATA: {data}")
88 
89  try:
90  requestsResponse = self.__session.request(
91  method = requestType.value,
92  url = self.__url(endpoint),
93  headers = headers,
94  data = data,
95  files = files
96  # timeout = (self.__connectionTimeout, self.__readTimeout)
97  )
98 
99  return NetworkResponse(requestsResponse, endpoint)
100  except Exception as ex:
101  if retryCount < RequestsManager.MAX_RETRY_COUNT:
102  RequestsManager.__logRetry(requestType, endpoint, retryCount, ex)
103  return self.genericRequest(requestType, endpoint, headers, data, files, retryCount = retryCount + 1)
104 
105  raise RequestFailedError
106 

◆ get()

NetworkResponse coretex.networking.requests_manager.RequestsManager.get (   self,
str  endpoint,
Optional[Dict[str, str]]   headers = None,
Any   data = None,
Any   jsonObject = None,
int   retryCount = 0 
)
    Sends HTTP get request

    Parameters
    ----------
    endpoint : str
API endpoint
    headers : Optional[Dict[str, str]]
headers (not required)
    data : Any
(not required)
    jsonObject : Any
(not required)
    retryCount : int
number of function calls if request has failed

    Returns
    -------
    NetworkResponse -> NetworkResponse object as response content to request

Definition at line 107 of file requests_manager.py.

107  def get(
108  self,
109  endpoint: str,
110  headers: Optional[Dict[str, str]] = None,
111  data: Any = None,
112  jsonObject: Any = None,
113  retryCount: int = 0
114  ) -> NetworkResponse:
115  """
116  Sends HTTP get request
117 
118  Parameters
119  ----------
120  endpoint : str
121  API endpoint
122  headers : Optional[Dict[str, str]]
123  headers (not required)
124  data : Any
125  (not required)
126  jsonObject : Any
127  (not required)
128  retryCount : int
129  number of function calls if request has failed
130 
131  Returns
132  -------
133  NetworkResponse -> NetworkResponse object as response content to request
134  """
135 
136  logging.getLogger("coretexpylib").debug(f"Sending request {endpoint}, HEADERS: {headers}, DATA: {data}, JSON_OBJECT: {jsonObject}")
137 
138  try:
139  requestsResponse = self.__session.get(
140  url = self.__url(endpoint),
141  headers = headers,
142  data = data,
143  json = jsonObject
144  # timeout = (self.__connectionTimeout, self.__readTimeout)
145  )
146 
147  return NetworkResponse(requestsResponse, endpoint)
148  except Exception as ex:
149  if retryCount < RequestsManager.MAX_RETRY_COUNT:
150  RequestsManager.__logRetry(RequestType.get, endpoint, retryCount, ex)
151  return self.get(endpoint, headers, data, jsonObject, retryCount = retryCount + 1)
152 
153  raise RequestFailedError
154 

◆ post()

NetworkResponse coretex.networking.requests_manager.RequestsManager.post (   self,
str  endpoint,
Optional[Dict[str, str]]   headers = None,
Any   data = None,
Any   jsonObject = None,
int   retryCount = 0 
)
    Sends HTTP post request

    Parameters
    ----------
    endpoint : str
API endpoint
    headers : Optional[Dict[str, str]]
headers (not required)
    data : Any
(not required)
    jsonObject : Any
(not required)
    retryCount : int
number of function calls if request has failed

    Returns
    -------
    NetworkResponse -> NetworkResponse object as response content to request

Definition at line 155 of file requests_manager.py.

155  def post(
156  self,
157  endpoint: str,
158  headers: Optional[Dict[str, str]] = None,
159  data: Any = None,
160  jsonObject: Any = None,
161  retryCount: int = 0
162  ) -> NetworkResponse:
163  """
164  Sends HTTP post request
165 
166  Parameters
167  ----------
168  endpoint : str
169  API endpoint
170  headers : Optional[Dict[str, str]]
171  headers (not required)
172  data : Any
173  (not required)
174  jsonObject : Any
175  (not required)
176  retryCount : int
177  number of function calls if request has failed
178 
179  Returns
180  -------
181  NetworkResponse -> NetworkResponse object as response content to request
182  """
183 
184  logging.getLogger("coretexpylib").debug(f"Sending request {endpoint}, HEADERS: {headers}, DATA: {data}, JSON_OBJECT: {jsonObject}")
185 
186  try:
187  requestsResponse = self.__session.post(
188  url = self.__url(endpoint),
189  headers = headers,
190  data = data,
191  json = jsonObject
192  # timeout = (self.__connectionTimeout, self.__readTimeout)
193  )
194 
195  return NetworkResponse(requestsResponse, endpoint)
196  except Exception as ex:
197  if retryCount < RequestsManager.MAX_RETRY_COUNT:
198  RequestsManager.__logRetry(RequestType.post, endpoint, retryCount, ex)
199  return self.post(endpoint, headers, data, jsonObject, retryCount = retryCount + 1)
200 
201  raise RequestFailedError
202 

The documentation for this class was generated from the following file: