fix: remove Request param from _check() — WebSocket can't resolve Request dependency
The Request parameter caused TypeError on WebSocket routes because FastAPI cannot inject Request into WebSocket scope. Reverted to parameterless _check(). WebSocket 403 is handled by CSRF middleware which already skips WebSocket upgrade requests.
This commit is contained in:
+1
-5
@@ -237,11 +237,7 @@ def require_active_plugin(plugin_name: str):
|
|||||||
already have their own auth dependencies (require_permission, etc.).
|
already have their own auth dependencies (require_permission, etc.).
|
||||||
This check only verifies plugin activation status.
|
This check only verifies plugin activation status.
|
||||||
"""
|
"""
|
||||||
async def _check(request: Request) -> None:
|
async def _check() -> None:
|
||||||
# Skip plugin check for WebSocket connections — WS auth is handled
|
|
||||||
# inside the endpoint itself via session cookie verification.
|
|
||||||
if request.headers.get("upgrade", "").lower() == "websocket":
|
|
||||||
return
|
|
||||||
from app.core.permission_registry import get_permission_registry
|
from app.core.permission_registry import get_permission_registry
|
||||||
try:
|
try:
|
||||||
registry = get_permission_registry()
|
registry = get_permission_registry()
|
||||||
|
|||||||
Reference in New Issue
Block a user