Coverage for src / lexigram / contracts / web / __init__.py: 100%
14 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-08-19 05:41 +0800
« prev ^ index » next coverage.py v7.13.5, created at 2026-08-19 05:41 +0800
1"""Web framework protocols.
3Protocols for middleware and exception handling.
4"""
6from __future__ import annotations
8from lexigram.contracts.core.middleware import (
9 ExceptionFilterChainProtocol,
10 Middleware,
11 MiddlewarePipelineProtocol,
12 MiddlewareProtocol,
13)
14from lexigram.contracts.web.controller import ControllerProtocol
15from lexigram.contracts.web.execution_context import ExecutionContextProtocol
16from lexigram.contracts.web.guard import GuardProtocol
17from lexigram.contracts.web.http_constants import (
18 CONTENT_TYPE_BYTES,
19 CONTENT_TYPE_FORM,
20 CONTENT_TYPE_HTML,
21 CONTENT_TYPE_JSON,
22 CONTENT_TYPE_MULTIPART,
23 CONTENT_TYPE_TEXT,
24 DEFAULT_ENCODING,
25 DELETE,
26 GET,
27 HEAD,
28 HEADER_ACCEPT,
29 HEADER_AUTHORIZATION,
30 HEADER_CONTENT_TYPE,
31 HEADER_USER_AGENT,
32 HEADER_X_REQUEST_ID,
33 OPTIONS,
34 PATCH,
35 POST,
36 PUT,
37)
38from lexigram.contracts.web.http_models import HttpResponse, HttpStatusError
39from lexigram.contracts.web.http_protocols import (
40 ConnectMetricsCollectorProtocol,
41 HTTPClientProtocol,
42 HTTPSessionProtocol,
43 InterceptorChainProtocol,
44 InterceptorProtocol,
45 SelectorProtocol,
46 ServiceMeshRegistryProtocol,
47 WebSocketProtocol,
48)
49from lexigram.contracts.web.http_types import ServiceInfo
50from lexigram.contracts.web.protocols import (
51 BackgroundTaskRunnerProtocol,
52 CORSPolicyProtocol,
53 CSRFProtectionProtocol,
54 ExceptionFilterProtocol,
55 HTTPApplicationProtocol,
56 HttpRequestLoggerProtocol,
57 RequestProtocol,
58 ResponseFactoryProtocol,
59 ResponseProtocol,
60 WebContributorProtocol,
61 WebMiddlewareProtocol,
62 WebProviderProtocol,
63 WebRateLimiterProtocol,
64)
65from lexigram.contracts.web.routing import delete, get, patch, post, put
66from lexigram.contracts.web.sse import ServerSentEvent, SseResponseFactoryProtocol
67from lexigram.contracts.web.types import (
68 ErrorDetail,
69 ErrorResponseDTO,
70 PaginatedResponseDTO,
71)
73__all__ = [
74 "CONTENT_TYPE_BYTES",
75 "CONTENT_TYPE_FORM",
76 "CONTENT_TYPE_HTML",
77 "CONTENT_TYPE_JSON",
78 "CONTENT_TYPE_MULTIPART",
79 "CONTENT_TYPE_TEXT",
80 "DEFAULT_ENCODING",
81 "DELETE",
82 "GET",
83 "HEAD",
84 "HEADER_ACCEPT",
85 "HEADER_AUTHORIZATION",
86 "HEADER_CONTENT_TYPE",
87 "HEADER_USER_AGENT",
88 "HEADER_X_REQUEST_ID",
89 "OPTIONS",
90 "PATCH",
91 "POST",
92 "PUT",
93 "BackgroundTaskRunnerProtocol",
94 "CORSPolicyProtocol",
95 "CSRFProtectionProtocol",
96 "ConnectMetricsCollectorProtocol",
97 "ControllerProtocol",
98 "ErrorDetail",
99 "ErrorResponseDTO",
100 "ExceptionFilterChainProtocol",
101 "ExceptionFilterProtocol",
102 "ExecutionContextProtocol",
103 "GuardProtocol",
104 "HTTPApplicationProtocol",
105 "HTTPClientProtocol",
106 "HTTPSessionProtocol",
107 "HttpRequestLoggerProtocol",
108 "HttpResponse",
109 "HttpStatusError",
110 "InterceptorChainProtocol",
111 "InterceptorProtocol",
112 "Middleware",
113 "MiddlewarePipelineProtocol",
114 "MiddlewareProtocol",
115 "PaginatedResponseDTO",
116 "RequestProtocol",
117 "ResponseFactoryProtocol",
118 "ResponseProtocol",
119 "SelectorProtocol",
120 "ServerSentEvent",
121 "ServiceInfo",
122 "ServiceMeshRegistryProtocol",
123 "SseResponseFactoryProtocol",
124 "WebContributorProtocol",
125 "WebMiddlewareProtocol",
126 "WebProviderProtocol",
127 "WebRateLimiterProtocol",
128 "WebSocketProtocol",
129 "delete",
130 "get",
131 "patch",
132 "post",
133 "put",
134]