|
1 | 1 | from types import SimpleNamespace
|
2 |
| -from typing import TYPE_CHECKING, Awaitable, Mapping, Optional, Protocol, Type, TypeVar |
| 2 | +from typing import TYPE_CHECKING, Mapping, Optional, Type, TypeVar |
3 | 3 |
|
4 | 4 | import attr
|
5 | 5 | from aiosignal import Signal
|
|
12 | 12 | from .client import ClientSession
|
13 | 13 |
|
14 | 14 | _ParamT_contra = TypeVar("_ParamT_contra", contravariant=True)
|
15 |
| - |
16 |
| - class _SignalCallback(Protocol[_ParamT_contra]): |
17 |
| - def __call__( |
18 |
| - self, |
19 |
| - __client_session: ClientSession, |
20 |
| - __trace_config_ctx: SimpleNamespace, |
21 |
| - __params: _ParamT_contra, |
22 |
| - ) -> Awaitable[None]: ... |
| 15 | + _TracingSignal = Signal[ClientSession, SimpleNamespace, _ParamT_contra] |
23 | 16 |
|
24 | 17 |
|
25 | 18 | __all__ = (
|
@@ -49,54 +42,46 @@ class TraceConfig:
|
49 | 42 | def __init__(
|
50 | 43 | self, trace_config_ctx_factory: Type[SimpleNamespace] = SimpleNamespace
|
51 | 44 | ) -> None:
|
52 |
| - self._on_request_start: Signal[_SignalCallback[TraceRequestStartParams]] = ( |
| 45 | + self._on_request_start: _TracingSignal[TraceRequestStartParams] = Signal(self) |
| 46 | + self._on_request_chunk_sent: _TracingSignal[TraceRequestChunkSentParams] = ( |
53 | 47 | Signal(self)
|
54 | 48 | )
|
55 |
| - self._on_request_chunk_sent: Signal[ |
56 |
| - _SignalCallback[TraceRequestChunkSentParams] |
57 |
| - ] = Signal(self) |
58 |
| - self._on_response_chunk_received: Signal[ |
59 |
| - _SignalCallback[TraceResponseChunkReceivedParams] |
| 49 | + self._on_response_chunk_received: _TracingSignal[ |
| 50 | + TraceResponseChunkReceivedParams |
60 | 51 | ] = Signal(self)
|
61 |
| - self._on_request_end: Signal[_SignalCallback[TraceRequestEndParams]] = Signal( |
| 52 | + self._on_request_end: _TracingSignal[TraceRequestEndParams] = Signal(self) |
| 53 | + self._on_request_exception: _TracingSignal[TraceRequestExceptionParams] = ( |
| 54 | + Signal(self) |
| 55 | + ) |
| 56 | + self._on_request_redirect: _TracingSignal[TraceRequestRedirectParams] = Signal( |
62 | 57 | self
|
63 | 58 | )
|
64 |
| - self._on_request_exception: Signal[ |
65 |
| - _SignalCallback[TraceRequestExceptionParams] |
| 59 | + self._on_connection_queued_start: _TracingSignal[ |
| 60 | + TraceConnectionQueuedStartParams |
66 | 61 | ] = Signal(self)
|
67 |
| - self._on_request_redirect: Signal[ |
68 |
| - _SignalCallback[TraceRequestRedirectParams] |
| 62 | + self._on_connection_queued_end: _TracingSignal[ |
| 63 | + TraceConnectionQueuedEndParams |
69 | 64 | ] = Signal(self)
|
70 |
| - self._on_connection_queued_start: Signal[ |
71 |
| - _SignalCallback[TraceConnectionQueuedStartParams] |
| 65 | + self._on_connection_create_start: _TracingSignal[ |
| 66 | + TraceConnectionCreateStartParams |
72 | 67 | ] = Signal(self)
|
73 |
| - self._on_connection_queued_end: Signal[ |
74 |
| - _SignalCallback[TraceConnectionQueuedEndParams] |
| 68 | + self._on_connection_create_end: _TracingSignal[ |
| 69 | + TraceConnectionCreateEndParams |
75 | 70 | ] = Signal(self)
|
76 |
| - self._on_connection_create_start: Signal[ |
77 |
| - _SignalCallback[TraceConnectionCreateStartParams] |
| 71 | + self._on_connection_reuseconn: _TracingSignal[ |
| 72 | + TraceConnectionReuseconnParams |
78 | 73 | ] = Signal(self)
|
79 |
| - self._on_connection_create_end: Signal[ |
80 |
| - _SignalCallback[TraceConnectionCreateEndParams] |
| 74 | + self._on_dns_resolvehost_start: _TracingSignal[ |
| 75 | + TraceDnsResolveHostStartParams |
81 | 76 | ] = Signal(self)
|
82 |
| - self._on_connection_reuseconn: Signal[ |
83 |
| - _SignalCallback[TraceConnectionReuseconnParams] |
84 |
| - ] = Signal(self) |
85 |
| - self._on_dns_resolvehost_start: Signal[ |
86 |
| - _SignalCallback[TraceDnsResolveHostStartParams] |
87 |
| - ] = Signal(self) |
88 |
| - self._on_dns_resolvehost_end: Signal[ |
89 |
| - _SignalCallback[TraceDnsResolveHostEndParams] |
90 |
| - ] = Signal(self) |
91 |
| - self._on_dns_cache_hit: Signal[_SignalCallback[TraceDnsCacheHitParams]] = ( |
| 77 | + self._on_dns_resolvehost_end: _TracingSignal[TraceDnsResolveHostEndParams] = ( |
92 | 78 | Signal(self)
|
93 | 79 | )
|
94 |
| - self._on_dns_cache_miss: Signal[_SignalCallback[TraceDnsCacheMissParams]] = ( |
| 80 | + self._on_dns_cache_hit: _TracingSignal[TraceDnsCacheHitParams] = Signal(self) |
| 81 | + self._on_dns_cache_miss: _TracingSignal[TraceDnsCacheMissParams] = Signal(self) |
| 82 | + self._on_request_headers_sent: _TracingSignal[TraceRequestHeadersSentParams] = ( |
95 | 83 | Signal(self)
|
96 | 84 | )
|
97 |
| - self._on_request_headers_sent: Signal[ |
98 |
| - _SignalCallback[TraceRequestHeadersSentParams] |
99 |
| - ] = Signal(self) |
100 | 85 |
|
101 | 86 | self._trace_config_ctx_factory = trace_config_ctx_factory
|
102 | 87 |
|
@@ -125,91 +110,91 @@ def freeze(self) -> None:
|
125 | 110 | self._on_request_headers_sent.freeze()
|
126 | 111 |
|
127 | 112 | @property
|
128 |
| - def on_request_start(self) -> "Signal[_SignalCallback[TraceRequestStartParams]]": |
| 113 | + def on_request_start(self) -> "_TracingSignal[TraceRequestStartParams]": |
129 | 114 | return self._on_request_start
|
130 | 115 |
|
131 | 116 | @property
|
132 | 117 | def on_request_chunk_sent(
|
133 | 118 | self,
|
134 |
| - ) -> "Signal[_SignalCallback[TraceRequestChunkSentParams]]": |
| 119 | + ) -> "_TracingSignal[TraceRequestChunkSentParams]": |
135 | 120 | return self._on_request_chunk_sent
|
136 | 121 |
|
137 | 122 | @property
|
138 | 123 | def on_response_chunk_received(
|
139 | 124 | self,
|
140 |
| - ) -> "Signal[_SignalCallback[TraceResponseChunkReceivedParams]]": |
| 125 | + ) -> "_TracingSignal[TraceResponseChunkReceivedParams]": |
141 | 126 | return self._on_response_chunk_received
|
142 | 127 |
|
143 | 128 | @property
|
144 |
| - def on_request_end(self) -> "Signal[_SignalCallback[TraceRequestEndParams]]": |
| 129 | + def on_request_end(self) -> "_TracingSignal[TraceRequestEndParams]": |
145 | 130 | return self._on_request_end
|
146 | 131 |
|
147 | 132 | @property
|
148 | 133 | def on_request_exception(
|
149 | 134 | self,
|
150 |
| - ) -> "Signal[_SignalCallback[TraceRequestExceptionParams]]": |
| 135 | + ) -> "_TracingSignal[TraceRequestExceptionParams]": |
151 | 136 | return self._on_request_exception
|
152 | 137 |
|
153 | 138 | @property
|
154 | 139 | def on_request_redirect(
|
155 | 140 | self,
|
156 |
| - ) -> "Signal[_SignalCallback[TraceRequestRedirectParams]]": |
| 141 | + ) -> "_TracingSignal[TraceRequestRedirectParams]": |
157 | 142 | return self._on_request_redirect
|
158 | 143 |
|
159 | 144 | @property
|
160 | 145 | def on_connection_queued_start(
|
161 | 146 | self,
|
162 |
| - ) -> "Signal[_SignalCallback[TraceConnectionQueuedStartParams]]": |
| 147 | + ) -> "_TracingSignal[TraceConnectionQueuedStartParams]": |
163 | 148 | return self._on_connection_queued_start
|
164 | 149 |
|
165 | 150 | @property
|
166 | 151 | def on_connection_queued_end(
|
167 | 152 | self,
|
168 |
| - ) -> "Signal[_SignalCallback[TraceConnectionQueuedEndParams]]": |
| 153 | + ) -> "_TracingSignal[TraceConnectionQueuedEndParams]": |
169 | 154 | return self._on_connection_queued_end
|
170 | 155 |
|
171 | 156 | @property
|
172 | 157 | def on_connection_create_start(
|
173 | 158 | self,
|
174 |
| - ) -> "Signal[_SignalCallback[TraceConnectionCreateStartParams]]": |
| 159 | + ) -> "_TracingSignal[TraceConnectionCreateStartParams]": |
175 | 160 | return self._on_connection_create_start
|
176 | 161 |
|
177 | 162 | @property
|
178 | 163 | def on_connection_create_end(
|
179 | 164 | self,
|
180 |
| - ) -> "Signal[_SignalCallback[TraceConnectionCreateEndParams]]": |
| 165 | + ) -> "_TracingSignal[TraceConnectionCreateEndParams]": |
181 | 166 | return self._on_connection_create_end
|
182 | 167 |
|
183 | 168 | @property
|
184 | 169 | def on_connection_reuseconn(
|
185 | 170 | self,
|
186 |
| - ) -> "Signal[_SignalCallback[TraceConnectionReuseconnParams]]": |
| 171 | + ) -> "_TracingSignal[TraceConnectionReuseconnParams]": |
187 | 172 | return self._on_connection_reuseconn
|
188 | 173 |
|
189 | 174 | @property
|
190 | 175 | def on_dns_resolvehost_start(
|
191 | 176 | self,
|
192 |
| - ) -> "Signal[_SignalCallback[TraceDnsResolveHostStartParams]]": |
| 177 | + ) -> "_TracingSignal[TraceDnsResolveHostStartParams]": |
193 | 178 | return self._on_dns_resolvehost_start
|
194 | 179 |
|
195 | 180 | @property
|
196 | 181 | def on_dns_resolvehost_end(
|
197 | 182 | self,
|
198 |
| - ) -> "Signal[_SignalCallback[TraceDnsResolveHostEndParams]]": |
| 183 | + ) -> "_TracingSignal[TraceDnsResolveHostEndParams]": |
199 | 184 | return self._on_dns_resolvehost_end
|
200 | 185 |
|
201 | 186 | @property
|
202 |
| - def on_dns_cache_hit(self) -> "Signal[_SignalCallback[TraceDnsCacheHitParams]]": |
| 187 | + def on_dns_cache_hit(self) -> "_TracingSignal[TraceDnsCacheHitParams]": |
203 | 188 | return self._on_dns_cache_hit
|
204 | 189 |
|
205 | 190 | @property
|
206 |
| - def on_dns_cache_miss(self) -> "Signal[_SignalCallback[TraceDnsCacheMissParams]]": |
| 191 | + def on_dns_cache_miss(self) -> "_TracingSignal[TraceDnsCacheMissParams]": |
207 | 192 | return self._on_dns_cache_miss
|
208 | 193 |
|
209 | 194 | @property
|
210 | 195 | def on_request_headers_sent(
|
211 | 196 | self,
|
212 |
| - ) -> "Signal[_SignalCallback[TraceRequestHeadersSentParams]]": |
| 197 | + ) -> "_TracingSignal[TraceRequestHeadersSentParams]": |
213 | 198 | return self._on_request_headers_sent
|
214 | 199 |
|
215 | 200 |
|
|
0 commit comments