diff --git a/osisoft/pidevclub/piwebapi/api_client.py b/osisoft/pidevclub/piwebapi/api_client.py index a826ad0..c605d84 100644 --- a/osisoft/pidevclub/piwebapi/api_client.py +++ b/osisoft/pidevclub/piwebapi/api_client.py @@ -136,7 +136,7 @@ def __call_api(self, resource_path, method, response_data = self.request(method, url, query_params=query_params, headers=header_params, - body=body) + body=body, _request_timeout=_request_timeout) return_data = response_data if _preload_content: @@ -321,12 +321,13 @@ def call_api(self, resource_path, method, thread.start() return thread - def request(self, method, url, query_params=None, headers=None, body=None): + def request(self, method, url, query_params=None, headers=None, body=None, _request_timeout=None): return self.rest_client.send_request(url, method, body=body, query_params=query_params, - headers=headers) + headers=headers, + _request_timeout=_request_timeout) diff --git a/osisoft/pidevclub/piwebapi/rest.py b/osisoft/pidevclub/piwebapi/rest.py index 2098192..253b633 100644 --- a/osisoft/pidevclub/piwebapi/rest.py +++ b/osisoft/pidevclub/piwebapi/rest.py @@ -45,7 +45,7 @@ def __init__(self, verifySsl): self.verifySsl = verifySsl - def send_request(self, url, method, body, headers=None,query_params=None): + def send_request(self, url, method, body, headers=None, query_params=None, _request_timeout=None): """ Makes the HTTP request using RESTClient. @@ -54,19 +54,26 @@ def send_request(self, url, method, body, headers=None,query_params=None): url += '?' + urlencode(query_params) if method == "GET": - response = requests.get(url, auth=self.auth, headers=headers, verify=self.verifySsl) + response = requests.get(url, auth=self.auth, headers=headers, + verify=self.verifySsl, timeout=_request_timeout) elif method == "HEAD": - response = requests.head(url, auth=self.auth, headers=headers, verify=self.verifySsl) + response = requests.head(url, auth=self.auth, headers=headers, + verify=self.verifySsl, timeout=_request_timeout) elif method == "OPTIONS": - response = requests.options(url, auth=self.auth, headers=headers, verify=self.verifySsl) + response = requests.options(url, auth=self.auth, headers=headers, + verify=self.verifySsl, timeout=_request_timeout) elif method == "POST": - response = requests.post(url, json=body, auth=self.auth, headers=headers, verify=self.verifySsl) + response = requests.post(url, json=body, auth=self.auth, headers=headers, + verify=self.verifySsl, timeout=_request_timeout) elif method == "PUT": - response = requests.put(url, json=body, auth=self.auth, headers=headers, verify=self.verifySsl) + response = requests.put(url, json=body, auth=self.auth, headers=headers, + verify=self.verifySsl, timeout=_request_timeout) elif method == "PATCH": - response = requests.patch(url, json=body, auth=self.auth, headers=headers, verify=self.verifySsl) + response = requests.patch(url, json=body, auth=self.auth, headers=headers, + verify=self.verifySsl, timeout=_request_timeout) elif method == "DELETE": - response = requests.delete(url, auth=self.auth, headers=headers, verify=self.verifySsl) + response = requests.delete(url, auth=self.auth, headers=headers, + verify=self.verifySsl, timeout=_request_timeout) else: raise ValueError( "http method must be `GET`, `HEAD`, `OPTIONS`,"