|
import requests |
|
import logging |
|
import json |
|
|
|
class LoadBalancerAPI: |
|
def __init__(self, base_url): |
|
self.base_url = base_url |
|
|
|
def register_instance(self, instance_id, instance_url): |
|
data = { |
|
"url": instance_url |
|
} |
|
api_endpoint = f'{self.base_url}/api/post/register' |
|
|
|
try: |
|
headers = {'Content-Type': 'application/json'} |
|
response = requests.post(api_endpoint, data=json.dumps(data), headers=headers) |
|
response.raise_for_status() |
|
return response.json() |
|
except requests.exceptions.RequestException as e: |
|
logging.error(f'Failed to register instance {instance_id} to load balancer: {e}') |
|
return None |
|
|
|
def get_file_structure(self): |
|
api_endpoint = f'{self.base_url}/api/get/file_structure' |
|
try: |
|
headers = {'Content-Type': 'application/json'} |
|
response = requests.get(api_endpoint, headers=headers) |
|
response.raise_for_status() |
|
return response.json() |
|
except requests.exceptions.RequestException as e: |
|
logging.error(f'Failed to file structure: {e}') |
|
return None |
|
|