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

1"""Middleware Domain - Web-Specific Middleware""" 

2 

3from __future__ import annotations 

4 

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 

49 

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]