mirror of
https://github.com/nonebot/nonebot2.git
synced 2025-02-17 16:20:05 +08:00
🐛 fix aiohttp config trierule bugs
This commit is contained in:
parent
fd9ec5e6fa
commit
c1e06c2ec0
@ -29,6 +29,9 @@ from pydantic.env_settings import (
|
||||
env_file_sentinel,
|
||||
)
|
||||
|
||||
from nonebot.log import logger
|
||||
from nonebot.utils import escape_tag
|
||||
|
||||
|
||||
class CustomEnvSettings(EnvSettingsSource):
|
||||
def __call__(self, settings: BaseSettings) -> Dict[str, Any]:
|
||||
@ -90,9 +93,11 @@ class CustomEnvSettings(EnvSettingsSource):
|
||||
env_val = env_vars[env_name]
|
||||
try:
|
||||
if env_val:
|
||||
env_val = settings.__config__.json_loads(env_val)
|
||||
env_val = settings.__config__.json_loads(env_val.strip())
|
||||
except ValueError as e:
|
||||
pass
|
||||
logger.opt(colors=True, exception=e).trace(
|
||||
f"Error while parsing JSON for {escape_tag(env_name)}. Assumed as string."
|
||||
)
|
||||
|
||||
d[env_name] = env_val
|
||||
|
||||
|
@ -72,16 +72,16 @@ class Mixin(ForwardMixin):
|
||||
else:
|
||||
raise RuntimeError(f"Unsupported HTTP version: {setup.version}")
|
||||
|
||||
session = aiohttp.ClientSession(version=version, trust_env=True)
|
||||
async with session.ws_connect(
|
||||
setup.url,
|
||||
method=setup.method,
|
||||
timeout=setup.timeout or 10,
|
||||
headers=setup.headers,
|
||||
proxy=setup.proxy,
|
||||
) as ws:
|
||||
websocket = WebSocket(request=setup, session=session, websocket=ws)
|
||||
yield websocket
|
||||
async with aiohttp.ClientSession(version=version, trust_env=True) as session:
|
||||
async with session.ws_connect(
|
||||
setup.url,
|
||||
method=setup.method,
|
||||
timeout=setup.timeout or 10,
|
||||
headers=setup.headers,
|
||||
proxy=setup.proxy,
|
||||
) as ws:
|
||||
websocket = WebSocket(request=setup, session=session, websocket=ws)
|
||||
yield websocket
|
||||
|
||||
|
||||
class WebSocket(BaseWebSocket):
|
||||
|
@ -303,7 +303,12 @@ async def handle_event(bot: "Bot", event: "Event") -> None:
|
||||
return
|
||||
|
||||
# Trie Match
|
||||
TrieRule.get_value(bot, event, state)
|
||||
try:
|
||||
TrieRule.get_value(bot, event, state)
|
||||
except Exception as e:
|
||||
logger.opt(colors=True, exception=e).warning(
|
||||
"Error while parsing command for event"
|
||||
)
|
||||
|
||||
break_flag = False
|
||||
for priority in sorted(matchers.keys()):
|
||||
|
Loading…
x
Reference in New Issue
Block a user