|
12 | 12 |
|
13 | 13 |
|
14 | 14 | class FullyKiosk: |
15 | | - def __init__(self, session, host, port, password): |
16 | | - self._rh = _RequestsHandler(session, host, port) |
| 15 | + def __init__(self, session, host, port, password, use_ssl=False, verify_ssl=False): |
| 16 | + if not use_ssl: |
| 17 | + verify_ssl = False |
| 18 | + self._rh = _RequestsHandler(session, host, port, use_ssl=use_ssl, |
| 19 | + verify_ssl=verify_ssl) |
17 | 20 | self._password = password |
18 | 21 | self._deviceInfo = None |
19 | 22 | self._settings = None |
@@ -119,26 +122,30 @@ async def rebootDevice(self): |
119 | 122 | class _RequestsHandler: |
120 | 123 | """Internal class to create FullyKiosk requests""" |
121 | 124 |
|
122 | | - def __init__(self, session: aiohttp.ClientSession, host, port): |
| 125 | + def __init__(self, session: aiohttp.ClientSession, host, port, use_ssl=False, |
| 126 | + verify_ssl=False): |
123 | 127 | self.headers = {"Accept": "application/json"} |
124 | 128 |
|
125 | 129 | self.session = session |
126 | 130 | self.host = host |
127 | 131 | self.port = port |
| 132 | + self.use_ssl = use_ssl |
| 133 | + self.verify_ssl = verify_ssl |
128 | 134 |
|
129 | 135 | async def get(self, **kwargs): |
130 | | - url = f"http://{self.host}:{self.port}" |
| 136 | + url = f"http{'s' if self.use_ssl else ''}://{self.host}:{self.port}" |
131 | 137 | params = [] |
132 | 138 |
|
133 | 139 | for key, value in kwargs.items(): |
134 | 140 | if value is not None: |
135 | 141 | params.append((key, str(value))) |
| 142 | + req_params = {"url": url, "headers": self.headers, "params": params} |
| 143 | + if not self.verify_ssl: |
| 144 | + req_params["ssl"] = False |
136 | 145 |
|
137 | 146 | _LOGGER.debug("Sending request to: %s", url) |
138 | 147 | _LOGGER.debug("Parameters: %s", params) |
139 | | - async with self.session.get( |
140 | | - url, headers=self.headers, params=params |
141 | | - ) as response: |
| 148 | + async with self.session.get(**req_params) as response: |
142 | 149 | if response.status != 200: |
143 | 150 | _LOGGER.warning( |
144 | 151 | "Invalid response from Fully Kiosk Browser API: %s", response.status |
|
0 commit comments