@@ -63,16 +63,22 @@ def __init__(
6363 self ._url = host_url
6464 self ._own_session = session is None
6565 self ._session : aiohttp .ClientSession | None = session
66+ self ._verify_ssl : bool = False
67+ self ._timeout : float = 30
6668
6769 async def __aenter__ (self ):
6870 return await self .create ()
6971
7072 async def __aexit__ (self , exc_type , exc_val , exc_tb ):
7173 await self .close ()
7274
75+ @property
76+ def _kwargs (self ):
77+ return {"verify_ssl" : self ._verify_ssl , "timeout" : self ._timeout }
78+
7379 async def create (self ) -> Self :
7480 """Create aiohttp session"""
75- connector = aiohttp .TCPConnector (verify_ssl = False )
81+ connector = aiohttp .TCPConnector (verify_ssl = self . _verify_ssl )
7682 if not self ._session :
7783 jar = aiohttp .CookieJar (unsafe = True )
7884 self ._session = aiohttp .ClientSession (connector = connector , cookie_jar = jar )
@@ -91,7 +97,9 @@ async def get(self, path: str, auth: bool = False, referer: str = ""):
9197 referer = f"{ self ._url } /{ referer } "
9298 if token := await self ._get_httoken (referer ):
9399 url += f"?_tn={ token } "
94- async with self ._session .get (url , headers = {"Referer" : referer }) as response :
100+ async with self ._session .get (
101+ url , headers = {"Referer" : referer }, ** self ._kwargs
102+ ) as response :
95103 _LOGGER .debug ("GET - %s - %s" , url , response .status )
96104 key = self ._login_key if auth else const .DEFAULT_KEY
97105 return decode (await response .text (), key = key )
@@ -104,16 +112,13 @@ async def post(self, path: str, data: dict[str, str], referer: str):
104112 data = "&" .join ([f"{ k } ={ v } " for k , v in data .items ()])
105113 data = encode (data , key = self ._login_key )
106114 async with self ._session .post (
107- url ,
108- headers = {"Referer" : referer },
109- data = data ,
110- timeout = 30 ,
115+ url , headers = {"Referer" : referer }, data = data , ** self ._kwargs
111116 ) as response :
112117 _LOGGER .debug ("POST - %s - %s" , url , response .status )
113118 return decode (await response .text (), key = self ._login_key )
114119
115120 async def _get_httoken (self , url : str ) -> str :
116- async with self ._session .get (url ) as response :
121+ async with self ._session .get (url , ** self . _kwargs ) as response :
117122 _LOGGER .debug ("GET - %s - %s" , url , response .status )
118123 if token := re .findall ("httoken = (\\ d+)" , await response .text ()):
119124 return token [0 ]
@@ -131,7 +136,7 @@ async def login(self, password: str):
131136 login_data = f"{ await self ._get_login_key ()} :{ password } " .encode ()
132137 login_key = sha256 (login_data ).hexdigest ()
133138 data = encode ("showpw=0&password=" + login_key )
134- async with self ._session .post (url , data = data ) as response :
139+ async with self ._session .post (url , data = data , ** self . _kwargs ) as response :
135140 _LOGGER .debug ("POST - %s - %s" , url , response .status )
136141 result = decode (await response .text ())
137142 _LOGGER .debug (result )
0 commit comments