mirror of
https://github.com/nonebot/nonebot2.git
synced 2025-02-20 09:38:23 +08:00
✨ Feature: 支持给 FastAPI
和 Quart
传递额外的参数 (#1543)
This commit is contained in:
parent
a9125cd696
commit
006b9dd816
@ -13,7 +13,7 @@ FrontMatter:
|
|||||||
import logging
|
import logging
|
||||||
import contextlib
|
import contextlib
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
from typing import Any, List, Tuple, Union, Callable, Optional
|
from typing import Any, Dict, List, Tuple, Union, Callable, Optional
|
||||||
|
|
||||||
import uvicorn
|
import uvicorn
|
||||||
from pydantic import BaseSettings
|
from pydantic import BaseSettings
|
||||||
@ -65,6 +65,8 @@ class Config(BaseSettings):
|
|||||||
"""要监听的文件列表,支持 glob pattern,默认为 uvicorn 默认值"""
|
"""要监听的文件列表,支持 glob pattern,默认为 uvicorn 默认值"""
|
||||||
fastapi_reload_excludes: Optional[List[str]] = None
|
fastapi_reload_excludes: Optional[List[str]] = None
|
||||||
"""不要监听的文件列表,支持 glob pattern,默认为 uvicorn 默认值"""
|
"""不要监听的文件列表,支持 glob pattern,默认为 uvicorn 默认值"""
|
||||||
|
fastapi_extra: Dict[str, Any] = {}
|
||||||
|
"""传递给 `FastAPI` 的其他参数。"""
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
extra = "ignore"
|
extra = "ignore"
|
||||||
@ -82,6 +84,7 @@ class Driver(ReverseDriver):
|
|||||||
openapi_url=self.fastapi_config.fastapi_openapi_url,
|
openapi_url=self.fastapi_config.fastapi_openapi_url,
|
||||||
docs_url=self.fastapi_config.fastapi_docs_url,
|
docs_url=self.fastapi_config.fastapi_docs_url,
|
||||||
redoc_url=self.fastapi_config.fastapi_redoc_url,
|
redoc_url=self.fastapi_config.fastapi_redoc_url,
|
||||||
|
**self.fastapi_config.fastapi_extra,
|
||||||
)
|
)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
@ -17,7 +17,7 @@ FrontMatter:
|
|||||||
|
|
||||||
import asyncio
|
import asyncio
|
||||||
from functools import wraps
|
from functools import wraps
|
||||||
from typing import List, Tuple, Union, TypeVar, Callable, Optional, Coroutine
|
from typing import Any, Dict, List, Tuple, Union, TypeVar, Callable, Optional, Coroutine
|
||||||
|
|
||||||
import uvicorn
|
import uvicorn
|
||||||
from pydantic import BaseSettings
|
from pydantic import BaseSettings
|
||||||
@ -69,6 +69,8 @@ class Config(BaseSettings):
|
|||||||
"""要监听的文件列表,支持 glob pattern,默认为 uvicorn 默认值"""
|
"""要监听的文件列表,支持 glob pattern,默认为 uvicorn 默认值"""
|
||||||
quart_reload_excludes: Optional[List[str]] = None
|
quart_reload_excludes: Optional[List[str]] = None
|
||||||
"""不要监听的文件列表,支持 glob pattern,默认为 uvicorn 默认值"""
|
"""不要监听的文件列表,支持 glob pattern,默认为 uvicorn 默认值"""
|
||||||
|
quart_extra: Dict[str, Any] = {}
|
||||||
|
"""传递给 `Quart` 的其他参数。"""
|
||||||
|
|
||||||
class Config:
|
class Config:
|
||||||
extra = "ignore"
|
extra = "ignore"
|
||||||
@ -82,7 +84,9 @@ class Driver(ReverseDriver):
|
|||||||
|
|
||||||
self.quart_config = Config(**config.dict())
|
self.quart_config = Config(**config.dict())
|
||||||
|
|
||||||
self._server_app = Quart(self.__class__.__qualname__)
|
self._server_app = Quart(
|
||||||
|
self.__class__.__qualname__, **self.quart_config.quart_extra
|
||||||
|
)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
@overrides(ReverseDriver)
|
@overrides(ReverseDriver)
|
||||||
|
@ -146,6 +146,12 @@ nonebot.run(app="bot:app")
|
|||||||
默认值:`None`
|
默认值:`None`
|
||||||
说明:不要监听的文件列表,支持 glob pattern,默认为 uvicorn 默认值
|
说明:不要监听的文件列表,支持 glob pattern,默认为 uvicorn 默认值
|
||||||
|
|
||||||
|
##### `fastapi_extra`
|
||||||
|
|
||||||
|
类型:`Dist[str, Any]`
|
||||||
|
默认值:`{}`
|
||||||
|
说明:传递给 `FastAPI` 的其他参数
|
||||||
|
|
||||||
### Quart
|
### Quart
|
||||||
|
|
||||||
类型:`ReverseDriver`
|
类型:`ReverseDriver`
|
||||||
@ -199,6 +205,12 @@ nonebot.run(app="bot:app")
|
|||||||
默认值:`None`
|
默认值:`None`
|
||||||
说明:不要监听的文件列表,支持 glob pattern,默认为 uvicorn 默认值
|
说明:不要监听的文件列表,支持 glob pattern,默认为 uvicorn 默认值
|
||||||
|
|
||||||
|
##### `quart_extra`
|
||||||
|
|
||||||
|
类型:`Dist[str, Any]`
|
||||||
|
默认值:`{}`
|
||||||
|
说明:传递给 `Quart` 的其他参数
|
||||||
|
|
||||||
### HTTPX
|
### HTTPX
|
||||||
|
|
||||||
类型:`ForwardDriver`
|
类型:`ForwardDriver`
|
||||||
|
Loading…
x
Reference in New Issue
Block a user