🐛 fix log not escaped in forward driver

This commit is contained in:
yanyongyu
2021-09-25 19:14:16 +08:00
parent 049d14295e
commit cfdebb30b7
2 changed files with 23 additions and 21 deletions

View File

@ -9,18 +9,19 @@ import signal
import asyncio import asyncio
import threading import threading
from dataclasses import dataclass from dataclasses import dataclass
from typing import Set, List, cast, Union, Optional, Callable, Awaitable from typing import Set, List, Union, Callable, Optional, Awaitable, cast
import aiohttp import aiohttp
from yarl import URL from yarl import URL
from nonebot.log import logger from nonebot.log import logger
from nonebot.adapters import Bot from nonebot.adapters import Bot
from nonebot.utils import escape_tag
from nonebot.typing import overrides from nonebot.typing import overrides
from nonebot.utils import escape_tag
from nonebot.config import Env, Config from nonebot.config import Env, Config
from nonebot.drivers import (ForwardDriver, HTTPPollingSetup, WebSocketSetup, from nonebot.drivers import WebSocket as BaseWebSocket
HTTPRequest, WebSocket as BaseWebSocket) from nonebot.drivers import (HTTPRequest, ForwardDriver, WebSocketSetup,
HTTPPollingSetup)
STARTUP_FUNC = Callable[[], Awaitable[None]] STARTUP_FUNC = Callable[[], Awaitable[None]]
SHUTDOWN_FUNC = Callable[[], Awaitable[None]] SHUTDOWN_FUNC = Callable[[], Awaitable[None]]
@ -242,8 +243,8 @@ class Driver(ForwardDriver):
setup_ = setup setup_ = setup
except Exception as e: except Exception as e:
logger.opt(colors=True, exception=e).error( logger.opt(colors=True, exception=e).error(
f"<r><bg #f8bbd0>Error while parsing setup {setup!r}.</bg #f8bbd0></r>" "<r><bg #f8bbd0>Error while parsing setup "
) f"{escape_tag(repr(setup))}.</bg #f8bbd0></r>")
await asyncio.sleep(3) await asyncio.sleep(3)
continue continue
@ -324,8 +325,8 @@ class Driver(ForwardDriver):
setup_ = setup setup_ = setup
except Exception as e: except Exception as e:
logger.opt(colors=True, exception=e).error( logger.opt(colors=True, exception=e).error(
f"<r><bg #f8bbd0>Error while parsing setup {setup!r}.</bg #f8bbd0></r>" "<r><bg #f8bbd0>Error while parsing setup "
) f"{escape_tag(repr(setup))}.</bg #f8bbd0></r>")
await asyncio.sleep(3) await asyncio.sleep(3)
continue continue

View File

@ -13,26 +13,27 @@ FastAPI 驱动适配
import asyncio import asyncio
import logging import logging
from dataclasses import dataclass from dataclasses import dataclass
from typing import List, cast, Union, Optional, Callable, Awaitable from typing import List, Union, Callable, Optional, Awaitable, cast
import httpx import httpx
import uvicorn import uvicorn
from pydantic import BaseSettings from pydantic import BaseSettings
from fastapi.responses import Response from fastapi.responses import Response
from websockets.exceptions import ConnectionClosed from websockets.exceptions import ConnectionClosed
from fastapi import status, Request, FastAPI, HTTPException from fastapi import FastAPI, Request, HTTPException, status
from starlette.websockets import WebSocket as FastAPIWebSocket
from starlette.websockets import WebSocketState, WebSocketDisconnect
from websockets.legacy.client import Connect, WebSocketClientProtocol from websockets.legacy.client import Connect, WebSocketClientProtocol
from starlette.websockets import (WebSocketState, WebSocketDisconnect, WebSocket
as FastAPIWebSocket)
from nonebot.config import Env
from nonebot.log import logger from nonebot.log import logger
from nonebot.adapters import Bot from nonebot.adapters import Bot
from nonebot.utils import escape_tag
from nonebot.typing import overrides from nonebot.typing import overrides
from nonebot.config import Env, Config as NoneBotConfig from nonebot.utils import escape_tag
from nonebot.drivers import (ReverseDriver, ForwardDriver, HTTPPollingSetup, from nonebot.config import Config as NoneBotConfig
WebSocketSetup, HTTPRequest, WebSocket as from nonebot.drivers import WebSocket as BaseWebSocket
BaseWebSocket) from nonebot.drivers import (HTTPRequest, ForwardDriver, ReverseDriver,
WebSocketSetup, HTTPPollingSetup)
HTTPPOLLING_SETUP = Union[HTTPPollingSetup, HTTPPOLLING_SETUP = Union[HTTPPollingSetup,
Callable[[], Awaitable[HTTPPollingSetup]]] Callable[[], Awaitable[HTTPPollingSetup]]]
@ -357,8 +358,8 @@ class Driver(ReverseDriver, ForwardDriver):
setup_ = setup setup_ = setup
except Exception as e: except Exception as e:
logger.opt(colors=True, exception=e).error( logger.opt(colors=True, exception=e).error(
f"<r><bg #f8bbd0>Error while parsing setup {setup!r}.</bg #f8bbd0></r>" "<r><bg #f8bbd0>Error while parsing setup "
) f"{escape_tag(repr(setup))}.</bg #f8bbd0></r>")
await asyncio.sleep(3) await asyncio.sleep(3)
continue continue
@ -422,8 +423,8 @@ class Driver(ReverseDriver, ForwardDriver):
setup_ = setup setup_ = setup
except Exception as e: except Exception as e:
logger.opt(colors=True, exception=e).error( logger.opt(colors=True, exception=e).error(
f"<r><bg #f8bbd0>Error while parsing setup {setup!r}.</bg #f8bbd0></r>" "<r><bg #f8bbd0>Error while parsing setup "
) f"{escape_tag(repr(setup))}.</bg #f8bbd0></r>")
await asyncio.sleep(3) await asyncio.sleep(3)
continue continue