@@ -59,8 +59,7 @@ class SanicIntegration(Integration):
5959 origin = f"auto.http.{ identifier } "
6060 version = None
6161
62- def __init__ (self , unsampled_statuses = frozenset ({404 })):
63- # type: (Optional[Container[int]]) -> None
62+ def __init__ (self , unsampled_statuses : "Optional[Container[int]]" = frozenset ({404 })) -> None :
6463 """
6564 The unsampled_statuses parameter can be used to specify for which HTTP statuses the
6665 transactions should not be sent to Sentry. By default, transactions are sent for all
@@ -70,8 +69,7 @@ def __init__(self, unsampled_statuses=frozenset({404})):
7069 self ._unsampled_statuses = unsampled_statuses or set ()
7170
7271 @staticmethod
73- def setup_once ():
74- # type: () -> None
72+ def setup_once () -> None :
7573 SanicIntegration .version = parse_version (SANIC_VERSION )
7674 _check_minimum_version (SanicIntegration , SanicIntegration .version )
7775
@@ -103,56 +101,45 @@ def setup_once():
103101
104102
105103class SanicRequestExtractor (RequestExtractor ):
106- def content_length (self ):
107- # type: () -> int
104+ def content_length (self ) -> int :
108105 if self .request .body is None :
109106 return 0
110107 return len (self .request .body )
111108
112- def cookies (self ):
113- # type: () -> Dict[str, str]
109+ def cookies (self ) -> "Dict[str, str]" :
114110 return dict (self .request .cookies )
115111
116- def raw_data (self ):
117- # type: () -> bytes
112+ def raw_data (self ) -> bytes :
118113 return self .request .body
119114
120- def form (self ):
121- # type: () -> RequestParameters
115+ def form (self ) -> "RequestParameters" :
122116 return self .request .form
123117
124- def is_json (self ):
125- # type: () -> bool
118+ def is_json (self ) -> bool :
126119 raise NotImplementedError ()
127120
128- def json (self ):
129- # type: () -> Optional[Any]
121+ def json (self ) -> "Optional[Any]" :
130122 return self .request .json
131123
132- def files (self ):
133- # type: () -> RequestParameters
124+ def files (self ) -> "RequestParameters" :
134125 return self .request .files
135126
136- def size_of_file (self , file ):
137- # type: (Any) -> int
127+ def size_of_file (self , file : Any ) -> int :
138128 return len (file .body or ())
139129
140130
141- def _setup_sanic ():
142- # type: () -> None
131+ def _setup_sanic () -> None :
143132 Sanic ._startup = _startup
144133 ErrorHandler .lookup = _sentry_error_handler_lookup
145134
146135
147- def _setup_legacy_sanic ():
148- # type: () -> None
136+ def _setup_legacy_sanic () -> None :
149137 Sanic .handle_request = _legacy_handle_request
150138 Router .get = _legacy_router_get
151139 ErrorHandler .lookup = _sentry_error_handler_lookup
152140
153141
154- async def _startup (self ):
155- # type: (Sanic) -> None
142+ async def _startup (self : Sanic ) -> None :
156143 # This happens about as early in the lifecycle as possible, just after the
157144 # Request object is created. The body has not yet been consumed.
158145 self .signal ("http.lifecycle.request" )(_context_enter )
@@ -171,8 +158,7 @@ async def _startup(self):
171158 await old_startup (self )
172159
173160
174- async def _context_enter (request ):
175- # type: (Request) -> None
161+ async def _context_enter (request : "Request" ) -> None :
176162 request .ctx ._sentry_do_integration = (
177163 sentry_sdk .get_client ().get_integration (SanicIntegration ) is not None
178164 )
@@ -203,8 +189,7 @@ async def _context_enter(request):
203189 ).__enter__ ()
204190
205191
206- async def _context_exit (request , response = None ):
207- # type: (Request, Optional[BaseHTTPResponse]) -> None
192+ async def _context_exit (request : "Request" , response : "Optional[BaseHTTPResponse]" = None ) -> None :
208193 with capture_internal_exceptions ():
209194 if not request .ctx ._sentry_do_integration :
210195 return
@@ -233,17 +218,15 @@ async def _context_exit(request, response=None):
233218 request .ctx ._sentry_scope_manager .__exit__ (None , None , None )
234219
235220
236- async def _set_transaction (request , route , ** _ ):
237- # type: (Request, Route, **Any) -> None
221+ async def _set_transaction (request : "Request" , route : "Route" , ** _ : Any ) -> None :
238222 if request .ctx ._sentry_do_integration :
239223 with capture_internal_exceptions ():
240224 scope = sentry_sdk .get_current_scope ()
241225 route_name = route .name .replace (request .app .name , "" ).strip ("." )
242226 scope .set_transaction_name (route_name , source = TransactionSource .COMPONENT )
243227
244228
245- def _sentry_error_handler_lookup (self , exception , * args , ** kwargs ):
246- # type: (Any, Exception, *Any, **Any) -> Optional[object]
229+ def _sentry_error_handler_lookup (self : Any , exception : Exception , * args : Any , ** kwargs : Any ) -> "Optional[object]" :
247230 _capture_exception (exception )
248231 old_error_handler = old_error_handler_lookup (self , exception , * args , ** kwargs )
249232
@@ -253,8 +236,7 @@ def _sentry_error_handler_lookup(self, exception, *args, **kwargs):
253236 if sentry_sdk .get_client ().get_integration (SanicIntegration ) is None :
254237 return old_error_handler
255238
256- async def sentry_wrapped_error_handler (request , exception ):
257- # type: (Request, Exception) -> Any
239+ async def sentry_wrapped_error_handler (request : "Request" , exception : Exception ) -> Any :
258240 try :
259241 response = old_error_handler (request , exception )
260242 if isawaitable (response ):
@@ -276,8 +258,7 @@ async def sentry_wrapped_error_handler(request, exception):
276258 return sentry_wrapped_error_handler
277259
278260
279- async def _legacy_handle_request (self , request , * args , ** kwargs ):
280- # type: (Any, Request, *Any, **Any) -> Any
261+ async def _legacy_handle_request (self : Any , request : "Request" , * args : Any , ** kwargs : Any ) -> Any :
281262 if sentry_sdk .get_client ().get_integration (SanicIntegration ) is None :
282263 return await old_handle_request (self , request , * args , ** kwargs )
283264
@@ -294,8 +275,7 @@ async def _legacy_handle_request(self, request, *args, **kwargs):
294275 return response
295276
296277
297- def _legacy_router_get (self , * args ):
298- # type: (Any, Union[Any, Request]) -> Any
278+ def _legacy_router_get (self : Any , * args : "Union[Any, Request]" ) -> Any :
299279 rv = old_router_get (self , * args )
300280 if sentry_sdk .get_client ().get_integration (SanicIntegration ) is not None :
301281 with capture_internal_exceptions ():
@@ -325,8 +305,7 @@ def _legacy_router_get(self, *args):
325305
326306
327307@ensure_integration_enabled (SanicIntegration )
328- def _capture_exception (exception ):
329- # type: (Union[ExcInfo, BaseException]) -> None
308+ def _capture_exception (exception : "Union[ExcInfo, BaseException]" ) -> None :
330309 with capture_internal_exceptions ():
331310 event , hint = event_from_exception (
332311 exception ,
@@ -340,10 +319,8 @@ def _capture_exception(exception):
340319 sentry_sdk .capture_event (event , hint = hint )
341320
342321
343- def _make_request_processor (weak_request ):
344- # type: (Callable[[], Request]) -> EventProcessor
345- def sanic_processor (event , hint ):
346- # type: (Event, Optional[Hint]) -> Optional[Event]
322+ def _make_request_processor (weak_request : "Callable[[], Request]" ) -> "EventProcessor" :
323+ def sanic_processor (event : "Event" , hint : "Optional[Hint]" ) -> "Optional[Event]" :
347324
348325 try :
349326 if hint and issubclass (hint ["exc_info" ][0 ], SanicException ):
0 commit comments