Coverage for src/lexigram/web/config/__init__.py: 81%

21 statements  

« prev     ^ index     » next       coverage.py v7.15.4, created at 2026-08-25 04:37 +0800

1"""Web configuration facade. 

2 

3Re-exports every public name so that 

4``from lexigram.web.config import X`` continues to work unchanged. 

5""" 

6 

7from lexigram.web.config.api_docs import ( 

8 APIDocsConfig as APIDocsConfig, 

9) 

10from lexigram.web.config.api_docs import ( 

11 StaticFileConfig as StaticFileConfig, 

12) 

13from lexigram.web.config.provider import WebProviderConfig as WebProviderConfig 

14from lexigram.web.config.rate_limit import ( 

15 RateLimitConfig as RateLimitConfig, 

16) 

17from lexigram.web.config.rate_limit import ( 

18 RateLimitRuleConfig as RateLimitRuleConfig, 

19) 

20from lexigram.web.config.rate_limit import ( 

21 RoleGuardConfig as RoleGuardConfig, 

22) 

23from lexigram.web.config.rate_limit import ( 

24 RoleGuardRuleConfig as RoleGuardRuleConfig, 

25) 

26from lexigram.web.config.server import ServerConfig as ServerConfig 

27from lexigram.web.config.top_level import WebConfig as WebConfig 

28from lexigram.web.security.config import ( 

29 CORSConfig as CORSConfig, 

30) 

31from lexigram.web.security.config import ( 

32 CrossOriginConfig as CrossOriginConfig, 

33) 

34from lexigram.web.security.config import ( 

35 CSPConfig as CSPConfig, 

36) 

37from lexigram.web.security.config import ( 

38 CSRFConfig as CSRFConfig, 

39) 

40from lexigram.web.security.config import ( 

41 HSTSConfig as HSTSConfig, 

42) 

43from lexigram.web.security.config import ( 

44 SecurityConfig as SecurityConfig, 

45) 

46 

47 

48def __getattr__(name: str) -> object: # noqa: ANN001 

49 if name == "VersioningStrategy": 

50 from lexigram.web.routing.versioning import VersioningStrategy 

51 

52 return VersioningStrategy 

53 raise AttributeError(f"module {__name__!r} has no attribute {name!r}") 

54 

55 

56__all__ = [ 

57 "CORSConfig", 

58 "CrossOriginConfig", 

59 "CSPConfig", 

60 "CSRFConfig", 

61 "HSTSConfig", 

62 "RateLimitConfig", 

63 "RateLimitRuleConfig", 

64 "RoleGuardConfig", 

65 "RoleGuardRuleConfig", 

66 "SecurityConfig", 

67 "ServerConfig", 

68 "StaticFileConfig", 

69 "VersioningStrategy", 

70 "WebConfig", 

71 "WebProviderConfig", 

72]