type: drop MiddlewareType in favour of Middleware builtin

This commit is contained in:
Evgenii Alekseev 2024-08-14 15:46:43 +03:00
parent a9cb357182
commit 7bbe3242d4
3 changed files with 8 additions and 7 deletions

View File

@ -22,4 +22,3 @@ from collections.abc import Awaitable, Callable
HandlerType = Callable[[Request], Awaitable[StreamResponse]] HandlerType = Callable[[Request], Awaitable[StreamResponse]]
MiddlewareType = Callable[[Request, HandlerType], Awaitable[StreamResponse]]

View File

@ -21,6 +21,7 @@ import aiohttp_security
import socket import socket
import types import types
from aiohttp.typedefs import Middleware
from aiohttp.web import Application, Request, StaticResource, StreamResponse, middleware from aiohttp.web import Application, Request, StaticResource, StreamResponse, middleware
from aiohttp_session import setup as setup_session from aiohttp_session import setup as setup_session
from aiohttp_session.cookie_storage import EncryptedCookieStorage from aiohttp_session.cookie_storage import EncryptedCookieStorage
@ -30,7 +31,7 @@ from enum import Enum
from ahriman.core.auth import Auth from ahriman.core.auth import Auth
from ahriman.core.configuration import Configuration from ahriman.core.configuration import Configuration
from ahriman.models.user_access import UserAccess from ahriman.models.user_access import UserAccess
from ahriman.web.middlewares import HandlerType, MiddlewareType from ahriman.web.middlewares import HandlerType
__all__ = ["setup_auth"] __all__ = ["setup_auth"]
@ -84,7 +85,7 @@ class _AuthorizationPolicy(aiohttp_security.AbstractAuthorizationPolicy):
return await self.validator.verify_access(identity, permission, context) return await self.validator.verify_access(identity, permission, context)
def _auth_handler(allow_read_only: bool) -> MiddlewareType: def _auth_handler(allow_read_only: bool) -> Middleware:
""" """
authorization and authentication middleware authorization and authentication middleware
@ -92,7 +93,7 @@ def _auth_handler(allow_read_only: bool) -> MiddlewareType:
allow_read_only: allow allow_read_only: allow
Returns: Returns:
MiddlewareType: built middleware Middleware: built middleware
""" """
@middleware @middleware
async def handle(request: Request, handler: HandlerType) -> StreamResponse: async def handle(request: Request, handler: HandlerType) -> StreamResponse:

View File

@ -20,10 +20,11 @@
import aiohttp_jinja2 import aiohttp_jinja2
import logging import logging
from aiohttp.typedefs import Middleware
from aiohttp.web import HTTPClientError, HTTPException, HTTPMethodNotAllowed, HTTPNoContent, HTTPServerError, \ from aiohttp.web import HTTPClientError, HTTPException, HTTPMethodNotAllowed, HTTPNoContent, HTTPServerError, \
HTTPUnauthorized, Request, StreamResponse, json_response, middleware HTTPUnauthorized, Request, StreamResponse, json_response, middleware
from ahriman.web.middlewares import HandlerType, MiddlewareType from ahriman.web.middlewares import HandlerType
__all__ = ["exception_handler"] __all__ = ["exception_handler"]
@ -43,7 +44,7 @@ def _is_templated_unauthorized(request: Request) -> bool:
and "application/json" not in request.headers.getall("accept", []) and "application/json" not in request.headers.getall("accept", [])
def exception_handler(logger: logging.Logger) -> MiddlewareType: def exception_handler(logger: logging.Logger) -> Middleware:
""" """
exception handler middleware. Just log any exception (except for client ones) exception handler middleware. Just log any exception (except for client ones)
@ -51,7 +52,7 @@ def exception_handler(logger: logging.Logger) -> MiddlewareType:
logger(logging.Logger): class logger logger(logging.Logger): class logger
Returns: Returns:
MiddlewareType: built middleware Middleware: built middleware
Raises: Raises:
HTTPNoContent: OPTIONS method response HTTPNoContent: OPTIONS method response