2025 06 08
-
16:04:04 # requests の Response の bool 変換値
トークン期限切れの際に自動でトークンリフレッシュを行うようにするために以下のように requests レスポンスの存在チェックをしたが False が返ってきたため想定通りに動かなかった。
try: return func(self, *args, **kwargs) except requests.exceptions.RequestException as e: if e.response and e.response.status_code == 401: # トークンリフレッシュ ... else: raise
公式ドキュメントによると requests のレスポンスはステータスコードが 400 未満の時、つまりリクエストが成功したときに True が返るようになっているらしい。
そのため上記のような場合はe.response is not None
のようにして存在チェックをする必要がある。
requests.models — Requests 2.32.3 documentation