3232 SnippetsController ,
3333 RemnawaveSettingsController ,
3434 SubscriptionPageConfigController ,
35+ IpControlController ,
3536)
3637
3738
@@ -44,6 +45,7 @@ def __init__(
4445 caddy_token : Optional [str ] = None ,
4546 ssl_ignore : Optional [bool ] = False ,
4647 custom_headers : Optional [dict ] = None ,
48+ cookies : Optional [dict ] = None ,
4749 ):
4850 """
4951 Remnawave SDK init
@@ -55,13 +57,15 @@ def __init__(
5557 caddy_token (Optional[str]): - Token for Caddy Auth (Headers). Defaults to None.
5658 ssl_ignore (Optional[bool]): - Whether to ignore SSL certificate errors. Defaults to False.
5759 custom_headers (Optional[dict]): - Custom headers to include in the requests. Defaults to None.
60+ cookies (Optional[dict]): - Cookies for Reverse Proxy authorization. Defaults to None.
5861 """
5962 self ._client = client
6063 self ._token = token
6164 self .base_url = base_url
6265 self .caddy_token = caddy_token
6366 self .ssl_ignore = ssl_ignore
6467 self .custom_headers = custom_headers
68+ self .cookies = cookies
6569
6670 self ._validate_params ()
6771
@@ -96,6 +100,7 @@ def __init__(
96100 self .snippets = SnippetsController (self ._client )
97101 self .remnawave_settings = RemnawaveSettingsController (self ._client )
98102 self .subscription_page_config = SubscriptionPageConfigController (self ._client )
103+ self .ip_control = IpControlController (self ._client )
99104
100105 def _validate_params (self ) -> None :
101106 if self ._client is None :
@@ -108,13 +113,21 @@ def _validate_params(self) -> None:
108113 logging .warning (
109114 "base_url and token will be ignored if client is provided"
110115 )
116+ if self .cookies is not None :
117+ logging .warning (
118+ "cookies will be ignored if client is provided"
119+ )
111120
112121 def _prepare_client (self ) -> httpx .AsyncClient :
113- return httpx .AsyncClient (
114- base_url = self ._prepare_url (),
115- headers = self ._prepare_headers (),
116- verify = not self .ssl_ignore ,
117- )
122+ client_kwargs = {
123+ "base_url" : self ._prepare_url (),
124+ "headers" : self ._prepare_headers (),
125+ "verify" : not self .ssl_ignore ,
126+ }
127+ if self .cookies is not None :
128+ client_kwargs ["cookies" ] = self .cookies
129+
130+ return httpx .AsyncClient (** client_kwargs )
118131
119132 def _prepare_headers (self ) -> dict :
120133 headers = {}
0 commit comments