Files
detections/loader_http_client.py
T
Oleksandr Bezdieniezhnykh 9e5b0f2cc2 Initial commit
Made-with: Cursor
2026-03-17 19:15:55 +02:00

43 lines
1.4 KiB
Python

import requests
from loguru import logger
class LoadResult:
def __init__(self, err, data=None):
self.err = err
self.data = data
class LoaderHttpClient:
def __init__(self, base_url: str):
self.base_url = base_url.rstrip("/")
def load_big_small_resource(self, filename: str, directory: str) -> LoadResult:
try:
response = requests.post(
f"{self.base_url}/load/{filename}",
json={"filename": filename, "folder": directory},
stream=True,
)
response.raise_for_status()
return LoadResult(None, response.content)
except Exception as e:
logger.error(f"LoaderHttpClient.load_big_small_resource failed: {e}")
return LoadResult(str(e))
def upload_big_small_resource(self, content: bytes, filename: str, directory: str) -> LoadResult:
try:
response = requests.post(
f"{self.base_url}/upload/{filename}",
files={"data": (filename, content)},
data={"folder": directory},
)
response.raise_for_status()
return LoadResult(None)
except Exception as e:
logger.error(f"LoaderHttpClient.upload_big_small_resource failed: {e}")
return LoadResult(str(e))
def stop(self):
pass