Spaces:
Running
Running
# Copyright (c) Microsoft Corporation. | |
# Licensed under the MIT license. | |
import time | |
import requests | |
from .url_utils import check_status_url | |
from .constants import REST_TIME_OUT | |
from .common_utils import print_error | |
def rest_put(url, data, timeout, show_error=False): | |
'''Call rest put method''' | |
try: | |
response = requests.put(url, headers={'Accept': 'application/json', 'Content-Type': 'application/json'},\ | |
data=data, timeout=timeout) | |
return response | |
except Exception as exception: | |
if show_error: | |
print_error(exception) | |
return None | |
def rest_post(url, data, timeout, show_error=False): | |
'''Call rest post method''' | |
try: | |
response = requests.post(url, headers={'Accept': 'application/json', 'Content-Type': 'application/json'},\ | |
data=data, timeout=timeout) | |
return response | |
except Exception as exception: | |
if show_error: | |
print_error(exception) | |
return None | |
def rest_get(url, timeout, show_error=False): | |
'''Call rest get method''' | |
try: | |
response = requests.get(url, timeout=timeout) | |
return response | |
except Exception as exception: | |
if show_error: | |
print_error(exception) | |
return None | |
def rest_delete(url, timeout, show_error=False): | |
'''Call rest delete method''' | |
try: | |
response = requests.delete(url, timeout=timeout) | |
return response | |
except Exception as exception: | |
if show_error: | |
print_error(exception) | |
return None | |
def check_rest_server(rest_port): | |
'''Check if restful server is ready''' | |
retry_count = 20 | |
for _ in range(retry_count): | |
response = rest_get(check_status_url(rest_port), REST_TIME_OUT) | |
if response: | |
if response.status_code == 200: | |
return True, response | |
else: | |
return False, response | |
else: | |
time.sleep(1) | |
return False, response | |
def check_rest_server_quick(rest_port): | |
'''Check if restful server is ready, only check once''' | |
response = rest_get(check_status_url(rest_port), 5) | |
if response and response.status_code == 200: | |
return True, response | |
return False, None | |
def check_response(response): | |
'''Check if a response is success according to status_code''' | |
if response and response.status_code == 200: | |
return True | |
return False | |