Merge pull request #40 from masasibata:feature/cookies-support

feat: added cookie-based auth for remnawave reverse proxy
This commit is contained in:
Artem 2026-02-24 22:55:08 +01:00 • committed by GitHub
commit 6571c407f8
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -45,6 +45,7 @@ class RemnawaveSDK:
caddy_token: Optional[str] = None,
ssl_ignore: Optional[bool] = False,
custom_headers: Optional[dict] = None,
cookies: Optional[dict] = None,
):
"""
Remnawave SDK init
@ -56,6 +57,7 @@ class RemnawaveSDK:
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
@ -63,6 +65,7 @@ class RemnawaveSDK:
self.caddy_token = caddy_token
self.ssl_ignore = ssl_ignore
self.custom_headers = custom_headers
self.cookies = cookies
self._validate_params()
@ -110,13 +113,21 @@ class RemnawaveSDK:
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 = {}