clan-app: Move middleware to it's own folder

This commit is contained in:
Qubasa
2025-09-16 14:51:11 +02:00
parent ee0f111fc9
commit 864b131010
13 changed files with 32 additions and 12 deletions

View File

@@ -9,7 +9,7 @@ from clan_lib.api.tasks import WebThread
from clan_lib.async_run import set_current_thread_opkey, set_should_cancel
if TYPE_CHECKING:
from .middleware import Middleware
from clan_app.middleware.base import Middleware
log = logging.getLogger(__name__)
@@ -39,7 +39,7 @@ class ApiBridge(Protocol):
def process_request(self, request: BackendRequest) -> None:
"""Process an API request through the middleware chain."""
from .middleware import MiddlewareContext # noqa: PLC0415
from clan_app.middleware.base import MiddlewareContext # noqa: PLC0415
with ExitStack() as stack:
context = MiddlewareContext(

View File

@@ -0,0 +1,20 @@
"""Compatibility wrapper for relocated middleware components.
This module preserves the legacy import path ``clan_app.api.middleware`` while
the actual middleware implementations now live in ``clan_app.middleware``.
"""
from __future__ import annotations
from warnings import warn
import clan_app.middleware as _middleware
from clan_app.middleware import * # noqa: F403
warn(
"clan_app.api.middleware is deprecated; use clan_app.middleware instead",
DeprecationWarning,
stacklevel=2,
)
__all__ = _middleware.__all__

View File

@@ -12,13 +12,13 @@ from clan_lib.log_manager import LogGroupConfig, LogManager
from clan_lib.log_manager import api as log_manager_api
from clan_app.api.file_gtk import get_clan_folder, get_system_file
from clan_app.api.middleware import (
from clan_app.deps.http.http_server import HttpApiServer
from clan_app.deps.webview.webview import Size, SizeHint, Webview
from clan_app.middleware import (
ArgumentParsingMiddleware,
LoggingMiddleware,
MethodExecutionMiddleware,
)
from clan_app.deps.http.http_server import HttpApiServer
from clan_app.deps.webview.webview import Size, SizeHint, Webview
log = logging.getLogger(__name__)

View File

@@ -21,7 +21,7 @@ from clan_lib.async_run import (
from clan_app.api.api_bridge import ApiBridge, BackendRequest, BackendResponse
if TYPE_CHECKING:
from clan_app.api.middleware import Middleware
from clan_app.middleware.base import Middleware
log = logging.getLogger(__name__)

View File

@@ -8,7 +8,7 @@ from clan_lib.api import MethodRegistry
from clan_lib.api.tasks import WebThread
if TYPE_CHECKING:
from clan_app.api.middleware import Middleware
from clan_app.middleware.base import Middleware
from .http_bridge import HttpBridge

View File

@@ -10,11 +10,11 @@ import pytest
from clan_lib.api import MethodRegistry, tasks
from clan_lib.async_run import is_async_cancelled
from clan_app.api.middleware import (
from clan_app.deps.http.http_server import HttpApiServer
from clan_app.middleware import (
ArgumentParsingMiddleware,
MethodExecutionMiddleware,
)
from clan_app.deps.http.http_server import HttpApiServer
log = logging.getLogger(__name__)

View File

@@ -19,7 +19,7 @@ from ._webview_ffi import (
from .webview_bridge import WebviewBridge
if TYPE_CHECKING:
from clan_app.api.middleware import Middleware
from clan_app.middleware.base import Middleware
log = logging.getLogger(__name__)

View File

@@ -9,7 +9,7 @@ from clan_lib.api.tasks import WebThread
from clan_app.api.api_bridge import ApiBridge, BackendRequest, BackendResponse
if TYPE_CHECKING:
from clan_app.api.middleware import Middleware
from clan_app.middleware.base import Middleware
from .webview import Webview

View File

@@ -1,4 +1,4 @@
"""Middleware components for the webview API bridge."""
"""Middleware components shared by API bridge implementations."""
from .argument_parsing import ArgumentParsingMiddleware
from .base import Middleware, MiddlewareContext