From 9ca43922ca4d66e62ebc0951ba9548e009d34e4e Mon Sep 17 00:00:00 2001 From: Cizz22 Date: Fri, 10 Apr 2026 13:42:14 +0700 Subject: [PATCH] feat: allow custom base_url in aeros_file_upload and force session recreation on base_url mismatch --- src/aeros_project/service.py | 3 ++- src/aeros_utils.py | 6 +++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/aeros_project/service.py b/src/aeros_project/service.py index 48d2ccf..d347931 100644 --- a/src/aeros_project/service.py +++ b/src/aeros_project/service.py @@ -119,7 +119,8 @@ async def import_aro_project(*, db_session: DbSession, aeros_project_in: AerosPr "/upload", content, "file", - clean_filename + clean_filename, + base_url=WINDOWS_AEROS_BASE_URL, ) response.raise_for_status() diff --git a/src/aeros_utils.py b/src/aeros_utils.py index b94979a..0815c59 100644 --- a/src/aeros_utils.py +++ b/src/aeros_utils.py @@ -31,7 +31,7 @@ def get_aeros_session(base_url): global _aeros_session if not USE_LICENSE_APP or not HAS_LICAEROS: - if _aeros_session is None or not isinstance(_aeros_session, httpx.Client): + if _aeros_session is None or not isinstance(_aeros_session, httpx.Client) or str(_aeros_session.base_url) != str(base_url): log.info(f"Using direct httpx.Client for base URL: {base_url}") _aeros_session = httpx.Client(base_url=base_url, timeout=300.0) return _aeros_session @@ -103,8 +103,8 @@ async def aeros_post(path: str, json=None, data=None, **kwargs): return response -async def aeros_file_upload(path, file, field_name, filename): - target_base_url = WINDOWS_AEROS_BASE_URL if USE_LICENSE_APP and HAS_LICAEROS else AEROS_BASE_URL +async def aeros_file_upload(path, file, field_name, filename, base_url=None): + target_base_url = WINDOWS_AEROS_BASE_URL if USE_LICENSE_APP and HAS_LICAEROS else (base_url or AEROS_BASE_URL) session = get_aeros_session(target_base_url) if USE_LICENSE_APP and HAS_LICAEROS: