MibooGram/utils/patch/aiohttp.py
omg-xtao ec71907701
♻️ 重写 Aiohttp 超时抛出异常
Co-authored-by: Karako <karakohear@gmail.com>
2022-09-28 08:22:47 +08:00

20 lines
461 B
Python

import asyncio
import aiohttp
from utils.patch.methods import patch, patchable
from typing import Optional
class AioHttpTimeoutException(asyncio.TimeoutError):
pass
@patch(aiohttp.helpers.TimerContext)
class TimerContext:
@patchable
def __exit__(self, *args, **kwargs) -> Optional[bool]:
try:
return self.old___exit__(*args, **kwargs)
except asyncio.TimeoutError:
raise AioHttpTimeoutException from None