Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 16 additions & 5 deletions remnawave/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ def __init__(
caddy_token: Optional[str] = None,
ssl_ignore: Optional[bool] = False,
custom_headers: Optional[dict] = None,
cookies: Optional[dict] = None,
):
"""
Remnawave SDK init
Expand All @@ -55,13 +56,15 @@ def __init__(
caddy_token (Optional[str]): - Token for Caddy Auth (Headers). Defaults to None.
ssl_ignore (Optional[bool]): - Whether to ignore SSL certificate errors. Defaults to False.
custom_headers (Optional[dict]): - Custom headers to include in the requests. Defaults to None.
cookies (Optional[dict]): - Cookies for Reverse Proxy authorization. Defaults to None.
"""
self._client = client
self._token = token
self.base_url = base_url
self.caddy_token = caddy_token
self.ssl_ignore = ssl_ignore
self.custom_headers = custom_headers
self.cookies = cookies

self._validate_params()

Expand Down Expand Up @@ -108,13 +111,21 @@ def _validate_params(self) -> None:
logging.warning(
"base_url and token will be ignored if client is provided"
)
if self.cookies is not None:
logging.warning(
"cookies will be ignored if client is provided"
)

def _prepare_client(self) -> httpx.AsyncClient:
return httpx.AsyncClient(
base_url=self._prepare_url(),
headers=self._prepare_headers(),
verify=not self.ssl_ignore,
)
client_kwargs = {
"base_url": self._prepare_url(),
"headers": self._prepare_headers(),
"verify": not self.ssl_ignore,
}
if self.cookies is not None:
client_kwargs["cookies"] = self.cookies

return httpx.AsyncClient(**client_kwargs)

def _prepare_headers(self) -> dict:
headers = {}
Expand Down