@@ -1084,16 +1084,21 @@ def _make_pool(
10841084
10851085
10861086class _EnvelopePrinterTransport (Transport ):
1087- """Wraps another transport, printing envelope contents to the SDK debug logger before sending ."""
1087+ """Prints envelope contents to the SDK debug logger, optionally wrapping another transport ."""
10881088
1089- def __init__ (self , transport : "Transport" ) -> None :
1090- Transport .__init__ (self , options = transport .options )
1089+ def __init__ (self , transport : "Optional[Transport]" = None ) -> None :
1090+ if transport is not None :
1091+ Transport .__init__ (self , options = transport .options )
1092+ self .parsed_dsn = transport .parsed_dsn
1093+ else :
1094+ Transport .__init__ (self )
10911095 self ._inner = transport
1092- self .parsed_dsn = transport .parsed_dsn
10931096
10941097 @property # type: ignore[misc]
10951098 def __class__ (self ) -> type :
1096- return self ._inner .__class__
1099+ if self ._inner is not None :
1100+ return self ._inner .__class__
1101+ return _EnvelopePrinterTransport
10971102
10981103 def capture_envelope (self , envelope : "Envelope" ) -> None :
10991104 try :
@@ -1122,17 +1127,20 @@ def capture_envelope(self, envelope: "Envelope") -> None:
11221127 except Exception :
11231128 pass
11241129
1125- self ._inner .capture_envelope (envelope )
1130+ if self ._inner is not None :
1131+ self ._inner .capture_envelope (envelope )
11261132
11271133 def flush (
11281134 self ,
11291135 timeout : float ,
11301136 callback : "Optional[Any]" = None ,
11311137 ) -> "Any" :
1132- return self ._inner .flush (timeout , callback )
1138+ if self ._inner is not None :
1139+ return self ._inner .flush (timeout , callback )
11331140
11341141 def kill (self ) -> "Any" :
1135- return self ._inner .kill ()
1142+ if self ._inner is not None :
1143+ return self ._inner .kill ()
11361144
11371145 def record_lost_event (
11381146 self ,
@@ -1142,13 +1150,20 @@ def record_lost_event(
11421150 * ,
11431151 quantity : int = 1 ,
11441152 ) -> None :
1145- self ._inner .record_lost_event (reason , data_category , item , quantity = quantity )
1153+ if self ._inner is not None :
1154+ self ._inner .record_lost_event (
1155+ reason , data_category , item , quantity = quantity
1156+ )
11461157
11471158 def is_healthy (self ) -> bool :
1148- return self ._inner .is_healthy ()
1159+ if self ._inner is not None :
1160+ return self ._inner .is_healthy ()
1161+ return True
11491162
11501163 def __getattr__ (self , name : str ) -> "Any" :
1151- return getattr (self ._inner , name )
1164+ if self ._inner is not None :
1165+ return getattr (self ._inner , name )
1166+ raise AttributeError (name )
11521167
11531168
11541169class _FunctionTransport (Transport ):
@@ -1237,9 +1252,7 @@ def make_transport(options: "Dict[str, Any]") -> "Optional[Transport]":
12371252 if transport is None and options ["dsn" ]:
12381253 transport = transport_cls (options )
12391254
1240- if transport is not None and os .environ .get (
1241- "SENTRY_PRINT_ENVELOPES" , ""
1242- ).lower () in ("1" , "true" , "yes" ):
1255+ if os .environ .get ("SENTRY_PRINT_ENVELOPES" , "" ).lower () in ("1" , "true" , "yes" ):
12431256 transport = _EnvelopePrinterTransport (transport )
12441257
12451258 return transport
0 commit comments