Coverage for src/lexigram/web/middleware/__init__.py: 100%
16 statements
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-25 04:37 +0800
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-25 04:37 +0800
1"""Middleware Domain - Web-Specific Middleware"""
3from __future__ import annotations
5from lexigram.web.middleware.access_log import AccessLogMiddleware
6from lexigram.web.middleware.auth import (
7 AuthenticationError,
8 AuthenticationMiddleware,
9 AuthenticatorProtocol,
10 AuthorizationError,
11 AuthorizerProtocol,
12)
13from lexigram.web.middleware.base import (
14 MiddlewareChain,
15 MiddlewareRegistry,
16)
17from lexigram.web.middleware.body_limit import RequestBodySizeLimitMiddleware
18from lexigram.web.middleware.compression import CompressionMiddleware
19from lexigram.web.middleware.cors import (
20 CORSMiddleware,
21 create_development_cors,
22 create_production_cors,
23)
24from lexigram.web.middleware.rate_limit import (
25 RateLimiter,
26 RateLimitMiddleware,
27 rate_limit,
28)
29from lexigram.web.middleware.request_id import (
30 RequestIDLogFilter,
31 RequestIDMiddleware,
32 configure_logging_with_request_id,
33)
34from lexigram.web.middleware.role_guard import (
35 RoleGuardMiddleware,
36 RoleGuardRule,
37 RoleResolverProtocol,
38)
39from lexigram.web.middleware.sanitization import InputSanitizationMiddleware
40from lexigram.web.middleware.security import (
41 SecurityHeadersMiddleware,
42 create_development_config,
43 create_production_config,
44 create_security_middleware,
45)
46from lexigram.web.middleware.stack import DefaultMiddlewareStack
47from lexigram.web.middleware.static import StaticFileProvider, StaticFilesMiddleware
48from lexigram.web.middleware.timing import TimingMiddleware
50__all__ = [
51 # Access logging
52 "AccessLogMiddleware",
53 # Exceptions
54 "AuthenticationError",
55 # Authentication middleware (transport layer only)
56 "AuthenticationMiddleware",
57 # Protocols for authentication
58 "AuthenticatorProtocol",
59 "AuthorizationError",
60 "AuthorizerProtocol",
61 "CORSMiddleware",
62 # HTTP middleware
63 "CompressionMiddleware",
64 # Default stack
65 "DefaultMiddlewareStack",
66 # Input sanitization
67 "InputSanitizationMiddleware",
68 "MiddlewareChain",
69 "MiddlewareRegistry",
70 "RateLimitMiddleware",
71 "RateLimiter",
72 # Body size protection
73 "RequestBodySizeLimitMiddleware",
74 "RequestIDLogFilter",
75 "RequestIDMiddleware",
76 # Role guard
77 "RoleGuardMiddleware",
78 "RoleGuardRule",
79 "RoleResolverProtocol",
80 # Security headers middleware
81 "SecurityHeadersMiddleware",
82 "StaticFileProvider",
83 "StaticFilesMiddleware",
84 "TimingMiddleware",
85 "configure_logging_with_request_id",
86 "create_development_config",
87 "create_development_cors",
88 "create_production_config",
89 "create_production_cors",
90 "create_security_middleware",
91 "rate_limit",
92]