Skip to content

Commit 14e2595

Browse files
authored
Merge pull request #7 from IoTLabs-pl/v0.18.0-beta.1
v0.18.0-beta.1
2 parents 6aa5c59 + ebe332a commit 14e2595

File tree

2 files changed

+30
-22
lines changed

2 files changed

+30
-22
lines changed

pyhon/connection/auth.py

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -307,16 +307,23 @@ async def _retrieve_iot_core_token(self) -> None:
307307
self._tokens.iot_core_token = iot_core_token
308308

309309
async def _refresh(self) -> None:
310-
async with self._session.post(
311-
f"{const.AUTH_API_URL}/services/oauth2/token",
312-
params={
313-
"client_id": const.CLIENT_ID,
314-
"refresh_token": self._tokens.refresh_token,
315-
"grant_type": "refresh_token",
316-
},
317-
) as response:
318-
data = await response.json()
319-
self._tokens = _Tokens.from_dict(data)
310+
try:
311+
async with self._session.post(
312+
f"{const.AUTH_API_URL}/services/oauth2/token",
313+
params={
314+
"client_id": const.CLIENT_ID,
315+
"refresh_token": self._tokens.refresh_token,
316+
"grant_type": "refresh_token",
317+
},
318+
) as response:
319+
data = await response.json()
320+
self._tokens = _Tokens.from_dict(data)
321+
except aiohttp.ClientResponseError as e:
322+
_LOGGER.warning(
323+
"Failed to obtain access token with refresh token: [%s] %s",
324+
e.status,
325+
e.message,
326+
)
320327

321328
async def __aenter__(self) -> "HonAuth":
322329
await self._resources.enter_async_context(self._session)

pyhon/connection/handler/base.py

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
from aiohttp import ClientSession, ClientResponse
1515

1616

17-
# from pyhon import const
17+
from pyhon import const
1818

1919
_LOGGER = logging.getLogger(__name__)
2020

@@ -33,13 +33,13 @@ def __str__(self) -> str:
3333

3434
class SessionWrapper:
3535
__MAX_HISTORY_LEN = 15
36-
_HEADERS = {"User-Agent": "const.USER_AGENT"}
36+
_HEADERS = {"User-Agent": const.USER_AGENT}
3737

3838
def __init__(self, session: ClientSession | None = None) -> None:
3939

4040
self._resources = AsyncExitStack()
4141
self._history: deque[ResponseWrapper] = deque(maxlen=self.__MAX_HISTORY_LEN)
42-
self._history_tracking_requests = 0
42+
self._history_tracking = False
4343
self._session = session
4444

4545
async def _extra_headers(self) -> dict[str, str]:
@@ -48,16 +48,17 @@ async def _extra_headers(self) -> dict[str, str]:
4848
@property
4949
@contextmanager
5050
def session_history_tracker(self) -> Generator[None, None, None]:
51-
self._history_tracking_requests += 1
52-
try:
51+
if self._history_tracking:
5352
yield
54-
except Exception as e:
55-
self._history_tracking_requests -= 1
56-
if self._history_tracking_requests == 1:
57-
self._log_history(str(e), flush=True)
58-
raise
59-
60-
self._history_tracking_requests -= 1
53+
else:
54+
self._history_tracking = True
55+
try:
56+
yield
57+
except Exception as e:
58+
self._log_history(str(e))
59+
raise
60+
finally:
61+
self._history_tracking = False
6162

6263
@asynccontextmanager
6364
async def _request(

0 commit comments

Comments
 (0)