2024-12-13 15:58:25 +08:00
|
|
|
from src.libs.custom_logger import get_custom_logger
|
|
|
|
|
import json
|
|
|
|
|
from urllib.parse import quote
|
|
|
|
|
from src.node.api_clients.base_client import BaseClient
|
|
|
|
|
|
|
|
|
|
logger = get_custom_logger(__name__)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
class REST(BaseClient):
|
|
|
|
|
def __init__(self, rest_port):
|
|
|
|
|
self._rest_port = rest_port
|
|
|
|
|
|
|
|
|
|
def rest_call(self, method, endpoint, payload=None):
|
|
|
|
|
url = f"http://127.0.0.1:{self._rest_port}/{endpoint}"
|
|
|
|
|
headers = {"Content-Type": "application/json"}
|
|
|
|
|
return self.make_request(method, url, headers=headers, data=payload)
|
|
|
|
|
|
|
|
|
|
def rest_call_text(self, method, endpoint, payload=None):
|
|
|
|
|
url = f"http://127.0.0.1:{self._rest_port}/{endpoint}"
|
|
|
|
|
headers = {"accept": "text/plain"}
|
|
|
|
|
return self.make_request(method, url, headers=headers, data=payload)
|
|
|
|
|
|
2025-01-07 21:08:41 +08:00
|
|
|
def info(self):
|
|
|
|
|
status_response = self.rest_call("get", "cryptarchia/info")
|
2025-01-07 14:40:28 +08:00
|
|
|
return status_response.json()
|
2025-01-16 19:08:22 +08:00
|
|
|
|
2025-01-17 14:23:52 +08:00
|
|
|
def send_dispersal_request(self, data):
|
|
|
|
|
return self.rest_call("post", "disperse-data", json.dumps(data))
|
2025-01-16 19:08:22 +08:00
|
|
|
|
2025-01-17 19:27:43 +08:00
|
|
|
def send_get_range(self, query):
|
2025-01-20 14:32:19 +08:00
|
|
|
response = self.rest_call("post", "da/get-range", json.dumps(query))
|
|
|
|
|
return response.json()
|