@@ -40,15 +40,15 @@ def wrapped(*args: Any, **kwargs: Any) -> 'BaseBatch.BaseProxy':
40
40
return wrapped
41
41
42
42
@abc .abstractmethod
43
- def __call__ (self , _trace_ctx : SimpleNamespace = SimpleNamespace () ) -> Union [Awaitable [Any ], Any ]:
43
+ def __call__ (self , _trace_ctx : Optional [ SimpleNamespace ] = None ) -> Union [Awaitable [Any ], Any ]:
44
44
"""
45
45
Makes an RPC call.
46
46
47
47
:param _trace_ctx: tracers request context
48
48
"""
49
49
50
50
@abc .abstractmethod
51
- def call (self , _trace_ctx : SimpleNamespace = SimpleNamespace () ) -> Union [Awaitable [Any ], Any ]:
51
+ def call (self , _trace_ctx : Optional [ SimpleNamespace ] = None ) -> Union [Awaitable [Any ], Any ]:
52
52
"""
53
53
Makes an RPC call.
54
54
@@ -97,7 +97,7 @@ def __call__(self, method: str, *args: Any, **kwargs: Any) -> 'BaseBatch':
97
97
return self .add (method , * args , ** kwargs )
98
98
99
99
@abc .abstractmethod
100
- def call (self , _trace_ctx : SimpleNamespace = SimpleNamespace () ) -> Union [Awaitable [Any ], Any ]:
100
+ def call (self , _trace_ctx : Optional [ SimpleNamespace ] = None ) -> Union [Awaitable [Any ], Any ]:
101
101
"""
102
102
Makes a JSON-RPC request.
103
103
@@ -107,7 +107,7 @@ def call(self, _trace_ctx: SimpleNamespace = SimpleNamespace()) -> Union[Awaitab
107
107
108
108
@abc .abstractmethod
109
109
def send (
110
- self , request : BatchRequest , _trace_ctx : SimpleNamespace = SimpleNamespace () , ** kwargs : Any ,
110
+ self , request : BatchRequest , _trace_ctx : Optional [ SimpleNamespace ] = None , ** kwargs : Any ,
111
111
) -> Union [Awaitable [Optional [BatchResponse ]], Optional [BatchResponse ]]:
112
112
"""
113
113
Sends a JSON-RPC batch request.
@@ -183,10 +183,10 @@ class Proxy(BaseBatch.BaseProxy):
183
183
def __init__ (self , batch : 'Batch' ):
184
184
super ().__init__ (batch )
185
185
186
- def __call__ (self , _trace_ctx : SimpleNamespace = SimpleNamespace () ) -> Any :
186
+ def __call__ (self , _trace_ctx : Optional [ SimpleNamespace ] = None ) -> Any :
187
187
return self .call (_trace_ctx )
188
188
189
- def call (self , _trace_ctx : SimpleNamespace = SimpleNamespace () ) -> Any :
189
+ def call (self , _trace_ctx : Optional [ SimpleNamespace ] = None ) -> Any :
190
190
return self ._batch .call (_trace_ctx )
191
191
192
192
@property
@@ -196,13 +196,13 @@ def proxy(self) -> 'Proxy':
196
196
def __init__ (self , client : 'AbstractClient' ):
197
197
super ().__init__ (client )
198
198
199
- def call (self , _trace_ctx : SimpleNamespace = SimpleNamespace () ) -> Optional [Any ]:
200
- response = self .send (self ._requests )
199
+ def call (self , _trace_ctx : Optional [ SimpleNamespace ] = None ) -> Optional [Any ]:
200
+ response = self .send (self ._requests , _trace_ctx = _trace_ctx )
201
201
202
202
return response .result if response is not None else None
203
203
204
204
def send (
205
- self , request : BatchRequest , _trace_ctx : SimpleNamespace = SimpleNamespace () , ** kwargs : Any ,
205
+ self , request : BatchRequest , _trace_ctx : Optional [ SimpleNamespace ] = None , ** kwargs : Any ,
206
206
) -> Optional [BatchResponse ]:
207
207
return cast (
208
208
Optional [BatchResponse ], self ._client ._send (
@@ -225,10 +225,10 @@ class Proxy(BaseBatch.BaseProxy):
225
225
def __init__ (self , batch : 'AsyncBatch' ):
226
226
super ().__init__ (batch )
227
227
228
- async def __call__ (self , _trace_ctx : SimpleNamespace = SimpleNamespace () ) -> Any :
228
+ async def __call__ (self , _trace_ctx : Optional [ SimpleNamespace ] = None ) -> Any :
229
229
return await self .call (_trace_ctx )
230
230
231
- async def call (self , _trace_ctx : SimpleNamespace = SimpleNamespace () ) -> Any :
231
+ async def call (self , _trace_ctx : Optional [ SimpleNamespace ] = None ) -> Any :
232
232
return await self ._batch .call (_trace_ctx )
233
233
234
234
@property
@@ -238,13 +238,13 @@ def proxy(self) -> 'Proxy':
238
238
def __init__ (self , client : 'AbstractAsyncClient' ):
239
239
super ().__init__ (client )
240
240
241
- async def call (self , _trace_ctx : SimpleNamespace = SimpleNamespace () ) -> Optional [Any ]:
241
+ async def call (self , _trace_ctx : Optional [ SimpleNamespace ] = None ) -> Optional [Any ]:
242
242
response = await self .send (self ._requests , _trace_ctx = _trace_ctx )
243
243
244
244
return response .result if response is not None else None
245
245
246
246
async def send (
247
- self , request : BatchRequest , _trace_ctx : SimpleNamespace = SimpleNamespace () , ** kwargs : Any ,
247
+ self , request : BatchRequest , _trace_ctx : Optional [ SimpleNamespace ] = None , ** kwargs : Any ,
248
248
) -> Optional [BatchResponse ]:
249
249
return await cast (
250
250
Awaitable [Optional [BatchResponse ]], self ._client ._send (
@@ -304,7 +304,7 @@ def __init__(
304
304
json_decoder : Optional [json .JSONDecoder ] = None ,
305
305
strict : bool = True ,
306
306
request_args : Optional [Dict [str , Any ]] = None ,
307
- tracers : Iterable [Tracer ] = (),
307
+ tracers : Iterable [Tracer [ Any ] ] = (),
308
308
retry_strategy : Optional [retry .RetryStrategy ] = None ,
309
309
):
310
310
self .request_class = request_class
@@ -326,7 +326,7 @@ def __call__(
326
326
self ,
327
327
method : str ,
328
328
* args : Any ,
329
- _trace_ctx : SimpleNamespace = SimpleNamespace () ,
329
+ _trace_ctx : Optional [ SimpleNamespace ] = None ,
330
330
** kwargs : Any ,
331
331
) -> Union [Awaitable [Any ], Any ]:
332
332
"""
@@ -339,7 +339,7 @@ def __call__(
339
339
:returns: response result
340
340
"""
341
341
342
- return self .call (method , * args , ** kwargs )
342
+ return self .call (method , * args , _trace_ctx = _trace_ctx , ** kwargs )
343
343
344
344
@property
345
345
def proxy (self ) -> 'Proxy' :
@@ -359,7 +359,7 @@ def _send(
359
359
request : AbstractRequest ,
360
360
response_class : Type [AbstractResponse ],
361
361
validator : Callable [..., None ],
362
- _trace_ctx : SimpleNamespace = SimpleNamespace () ,
362
+ _trace_ctx : Optional [ SimpleNamespace ] = None ,
363
363
** kwargs : Any ,
364
364
) -> Union [Awaitable [Optional [AbstractResponse ]], Optional [AbstractResponse ]]:
365
365
pass
@@ -407,7 +407,7 @@ def notify(
407
407
self ,
408
408
method : str ,
409
409
* args : Any ,
410
- _trace_ctx : SimpleNamespace = SimpleNamespace () ,
410
+ _trace_ctx : Optional [ SimpleNamespace ] = None ,
411
411
** kwargs : Any ,
412
412
) -> Optional [Response ]:
413
413
"""
@@ -429,7 +429,7 @@ def notify(
429
429
return self .send (request , _trace_ctx = _trace_ctx )
430
430
431
431
def call (
432
- self , method : str , * args : Any , _trace_ctx : SimpleNamespace = SimpleNamespace () , ** kwargs : Any ,
432
+ self , method : str , * args : Any , _trace_ctx : Optional [ SimpleNamespace ] = None , ** kwargs : Any ,
433
433
) -> Any :
434
434
"""
435
435
Makes JSON-RPC call.
@@ -456,7 +456,7 @@ def call(
456
456
def send (
457
457
self ,
458
458
request : Request ,
459
- _trace_ctx : SimpleNamespace = SimpleNamespace () ,
459
+ _trace_ctx : Optional [ SimpleNamespace ] = None ,
460
460
_retry_strategy : MaybeSet [retry .RetryStrategy ] = UNSET ,
461
461
** kwargs : Any ,
462
462
) -> Optional [Response ]:
@@ -486,25 +486,27 @@ def traced(method: Callable[..., Any]) -> Callable[..., Any]:
486
486
def wrapper (
487
487
self : 'AbstractClient' ,
488
488
request : AbstractRequest ,
489
- _trace_ctx : SimpleNamespace ,
489
+ _trace_ctx : Optional [ SimpleNamespace ] = None ,
490
490
** kwargs : Any ,
491
491
) -> Optional [AbstractResponse ]:
492
492
"""
493
493
Adds tracing logic to the method.
494
494
"""
495
495
496
+ trace_ctx = _trace_ctx or SimpleNamespace ()
497
+
496
498
for tracer in self ._tracers :
497
- tracer .on_request_begin (_trace_ctx , request )
499
+ tracer .on_request_begin (trace_ctx , request )
498
500
499
501
try :
500
- response = method (self , request , _trace_ctx = _trace_ctx , ** kwargs )
502
+ response = method (self , request , _trace_ctx = trace_ctx , ** kwargs )
501
503
except BaseException as e :
502
504
for tracer in self ._tracers :
503
- tracer .on_error (_trace_ctx , request , e )
505
+ tracer .on_error (trace_ctx , request , e )
504
506
raise
505
507
506
508
for tracer in self ._tracers :
507
- tracer .on_request_end (_trace_ctx , request , response )
509
+ tracer .on_request_end (trace_ctx , request , response )
508
510
509
511
return response
510
512
@@ -541,7 +543,7 @@ def _send(
541
543
request : AbstractRequest ,
542
544
response_class : Type [AbstractResponse ],
543
545
validator : Callable [..., None ],
544
- _trace_ctx : SimpleNamespace = SimpleNamespace () ,
546
+ _trace_ctx : Optional [ SimpleNamespace ] = None ,
545
547
** kwargs : Any ,
546
548
) -> Optional [AbstractResponse ]:
547
549
kwargs = {** self ._request_args , ** kwargs }
@@ -588,7 +590,7 @@ async def _request(self, request_text: str, is_notification: bool = False, **kwa
588
590
async def send (
589
591
self ,
590
592
request : Request ,
591
- _trace_ctx : SimpleNamespace = SimpleNamespace () ,
593
+ _trace_ctx : Optional [ SimpleNamespace ] = None ,
592
594
_retry_strategy : MaybeSet [retry .RetryStrategy ] = UNSET ,
593
595
** kwargs : Any ,
594
596
) -> Optional [Response ]:
@@ -618,25 +620,27 @@ def traced(method: Callable[..., Any]) -> Callable[..., Any]:
618
620
async def wrapper (
619
621
self : 'AbstractAsyncClient' ,
620
622
request : Request ,
621
- _trace_ctx : SimpleNamespace = SimpleNamespace () ,
623
+ _trace_ctx : Optional [ SimpleNamespace ] = None ,
622
624
** kwargs : Any ,
623
625
) -> Response :
624
626
"""
625
627
Adds tracing logic to the method.
626
628
"""
627
629
630
+ trace_ctx = _trace_ctx or SimpleNamespace ()
631
+
628
632
for tracer in self ._tracers :
629
- tracer .on_request_begin (_trace_ctx , request )
633
+ tracer .on_request_begin (trace_ctx , request )
630
634
631
635
try :
632
- response = await method (self , request , _trace_ctx = _trace_ctx , ** kwargs )
636
+ response = await method (self , request , _trace_ctx = trace_ctx , ** kwargs )
633
637
except BaseException as e :
634
638
for tracer in self ._tracers :
635
- tracer .on_error (_trace_ctx , request , e )
639
+ tracer .on_error (trace_ctx , request , e )
636
640
raise
637
641
638
642
for tracer in self ._tracers :
639
- tracer .on_request_end (_trace_ctx , request , response )
643
+ tracer .on_request_end (trace_ctx , request , response )
640
644
641
645
return response
642
646
@@ -673,7 +677,7 @@ async def _send(
673
677
request : AbstractRequest ,
674
678
response_class : Type [AbstractResponse ],
675
679
validator : Callable [..., None ],
676
- _trace_ctx : SimpleNamespace = SimpleNamespace () ,
680
+ _trace_ctx : Optional [ SimpleNamespace ] = None ,
677
681
** kwargs : Any ,
678
682
) -> Optional [AbstractResponse ]:
679
683
kwargs = {** self ._request_args , ** kwargs }
@@ -697,7 +701,7 @@ async def notify(
697
701
self ,
698
702
method : str ,
699
703
* args : Any ,
700
- _trace_ctx : SimpleNamespace = SimpleNamespace () ,
704
+ _trace_ctx : Optional [ SimpleNamespace ] = None ,
701
705
** kwargs : Any ,
702
706
) -> Optional [Response ]:
703
707
"""
@@ -719,7 +723,7 @@ async def notify(
719
723
return await self .send (request , _trace_ctx = _trace_ctx )
720
724
721
725
async def call (
722
- self , method : str , * args : Any , _trace_ctx : SimpleNamespace = SimpleNamespace () , ** kwargs : Any ,
726
+ self , method : str , * args : Any , _trace_ctx : Optional [ SimpleNamespace ] = None , ** kwargs : Any ,
723
727
) -> Any :
724
728
"""
725
729
Makes JSON-RPC call.
0 commit comments