125
125
from .wrappers import Response
126
126
from .wrappers import Websocket
127
127
128
- try :
128
+ if sys . version_info >= ( 3 , 10 ) :
129
129
from typing import ParamSpec
130
- except ImportError :
130
+ else :
131
131
from typing_extensions import ParamSpec
132
132
133
133
# Python 3.14 deprecated asyncio.iscoroutinefunction, but suggested
154
154
T_websocket = TypeVar ("T_websocket" , bound = WebsocketCallable )
155
155
T_while_serving = TypeVar ("T_while_serving" , bound = WhileServingCallable )
156
156
157
- T = TypeVar ("T" )
157
+ T = TypeVar ("T" , bound = Any )
158
158
P = ParamSpec ("P" )
159
159
160
160
@@ -458,10 +458,10 @@ async def update_template_context(self, context: dict) -> None:
458
458
elif has_websocket_context ():
459
459
names .extend (reversed (websocket_ctx .websocket .blueprints )) # type: ignore
460
460
461
- extra_context : dict = {}
461
+ extra_context : dict [ str , Any ] = {}
462
462
for name in names :
463
463
for processor in self .template_context_processors [name ]:
464
- extra_context .update (await self .ensure_async (processor )()) # type: ignore
464
+ extra_context .update (await self .ensure_async (processor )()) # type: ignore[call-overload]
465
465
466
466
original = context .copy ()
467
467
context .update (extra_context )
@@ -1027,7 +1027,7 @@ async def handle_http_exception(
1027
1027
if handler is None :
1028
1028
return error
1029
1029
else :
1030
- return await self .ensure_async (handler )(error ) # type: ignore
1030
+ return await self .ensure_async (handler )(error ) # type: ignore[return-value]
1031
1031
1032
1032
async def handle_user_exception (
1033
1033
self , error : Exception
@@ -1055,7 +1055,7 @@ async def handle_user_exception(
1055
1055
handler = self ._find_error_handler (error , blueprints )
1056
1056
if handler is None :
1057
1057
raise error
1058
- return await self .ensure_async (handler )(error ) # type: ignore
1058
+ return await self .ensure_async (handler )(error ) # type: ignore[return-value]
1059
1059
1060
1060
async def handle_exception (self , error : Exception ) -> ResponseTypes :
1061
1061
"""Handle an uncaught exception.
@@ -1066,8 +1066,8 @@ async def handle_exception(self, error: Exception) -> ResponseTypes:
1066
1066
exc_info = sys .exc_info ()
1067
1067
await got_request_exception .send_async (
1068
1068
self ,
1069
- _sync_wrapper = self .ensure_async ,
1070
- exception = error , # type: ignore
1069
+ _sync_wrapper = self .ensure_async , # type: ignore[arg-type]
1070
+ exception = error ,
1071
1071
)
1072
1072
propagate = self .config ["PROPAGATE_EXCEPTIONS" ]
1073
1073
@@ -1088,7 +1088,7 @@ async def handle_exception(self, error: Exception) -> ResponseTypes:
1088
1088
handler = self ._find_error_handler (server_error , request .blueprints )
1089
1089
1090
1090
if handler is not None :
1091
- server_error = await self .ensure_async (handler )(server_error ) # type: ignore
1091
+ server_error = await self .ensure_async (handler )(server_error ) # type: ignore[assignment]
1092
1092
1093
1093
return await self .finalize_request (server_error , from_error_handler = True )
1094
1094
@@ -1102,8 +1102,8 @@ async def handle_websocket_exception(
1102
1102
exc_info = sys .exc_info ()
1103
1103
await got_websocket_exception .send_async (
1104
1104
self ,
1105
- _sync_wrapper = self .ensure_async ,
1106
- exception = error , # type: ignore
1105
+ _sync_wrapper = self .ensure_async , # type: ignore[arg-type]
1106
+ exception = error ,
1107
1107
)
1108
1108
propagate = self .config ["PROPAGATE_EXCEPTIONS" ]
1109
1109
@@ -1124,7 +1124,7 @@ async def handle_websocket_exception(
1124
1124
handler = self ._find_error_handler (server_error , websocket .blueprints )
1125
1125
1126
1126
if handler is not None :
1127
- server_error = await self .ensure_async (handler )(server_error ) # type: ignore
1127
+ server_error = await self .ensure_async (handler )(server_error ) # type: ignore[assignment]
1128
1128
1129
1129
return await self .finalize_websocket (server_error , from_error_handler = True )
1130
1130
@@ -1205,8 +1205,8 @@ async def do_teardown_request(
1205
1205
1206
1206
await request_tearing_down .send_async (
1207
1207
self ,
1208
- _sync_wrapper = self .ensure_async ,
1209
- exc = exc , # type: ignore
1208
+ _sync_wrapper = self .ensure_async , # type: ignore[arg-type]
1209
+ exc = exc ,
1210
1210
)
1211
1211
1212
1212
async def do_teardown_websocket (
@@ -1229,8 +1229,8 @@ async def do_teardown_websocket(
1229
1229
1230
1230
await websocket_tearing_down .send_async (
1231
1231
self ,
1232
- _sync_wrapper = self .ensure_async ,
1233
- exc = exc , # type: ignore
1232
+ _sync_wrapper = self .ensure_async , # type: ignore[arg-type]
1233
+ exc = exc ,
1234
1234
)
1235
1235
1236
1236
async def do_teardown_appcontext (self , exc : BaseException | None ) -> None :
@@ -1239,8 +1239,8 @@ async def do_teardown_appcontext(self, exc: BaseException | None) -> None:
1239
1239
await self .ensure_async (function )(exc )
1240
1240
await appcontext_tearing_down .send_async (
1241
1241
self ,
1242
- _sync_wrapper = self .ensure_async ,
1243
- exc = exc , # type: ignore
1242
+ _sync_wrapper = self .ensure_async , # type: ignore[arg-type]
1243
+ exc = exc ,
1244
1244
)
1245
1245
1246
1246
def app_context (self ) -> AppContext :
@@ -1379,8 +1379,8 @@ async def _wrapper() -> None:
1379
1379
async def handle_background_exception (self , error : Exception ) -> None :
1380
1380
await got_background_exception .send_async (
1381
1381
self ,
1382
- _sync_wrapper = self .ensure_async ,
1383
- exception = error , # type: ignore
1382
+ _sync_wrapper = self .ensure_async , # type: ignore[arg-type]
1383
+ exception = error ,
1384
1384
)
1385
1385
1386
1386
self .log_exception (sys .exc_info ())
@@ -1541,7 +1541,7 @@ async def preprocess_request(
1541
1541
for function in self .before_request_funcs [name ]:
1542
1542
result = await self .ensure_async (function )()
1543
1543
if result is not None :
1544
- return result # type: ignore
1544
+ return result # type: ignore[return-value]
1545
1545
1546
1546
return None
1547
1547
@@ -1567,7 +1567,7 @@ async def preprocess_websocket(
1567
1567
for function in self .before_websocket_funcs [name ]:
1568
1568
result = await self .ensure_async (function )()
1569
1569
if result is not None :
1570
- return result # type: ignore
1570
+ return result # type: ignore[return-value]
1571
1571
1572
1572
return None
1573
1573
@@ -1591,7 +1591,7 @@ async def dispatch_request(
1591
1591
return await self .make_default_options_response ()
1592
1592
1593
1593
handler = self .view_functions [request_ .url_rule .endpoint ]
1594
- return await self .ensure_async (handler )(** request_ .view_args ) # type: ignore
1594
+ return await self .ensure_async (handler )(** request_ .view_args ) # type: ignore[return-value]
1595
1595
1596
1596
async def dispatch_websocket (
1597
1597
self , websocket_context : WebsocketContext | None = None
@@ -1607,7 +1607,7 @@ async def dispatch_websocket(
1607
1607
self .raise_routing_exception (websocket_ )
1608
1608
1609
1609
handler = self .view_functions [websocket_ .url_rule .endpoint ]
1610
- return await self .ensure_async (handler )(** websocket_ .view_args ) # type: ignore
1610
+ return await self .ensure_async (handler )(** websocket_ .view_args ) # type: ignore[return-value]
1611
1611
1612
1612
async def finalize_request (
1613
1613
self ,
@@ -1627,8 +1627,8 @@ async def finalize_request(
1627
1627
response = await self .process_response (response , request_context )
1628
1628
await request_finished .send_async (
1629
1629
self ,
1630
- _sync_wrapper = self .ensure_async ,
1631
- response = response , # type: ignore
1630
+ _sync_wrapper = self .ensure_async , # type: ignore[arg-type]
1631
+ response = response ,
1632
1632
)
1633
1633
except Exception :
1634
1634
if not from_error_handler :
@@ -1657,8 +1657,8 @@ async def finalize_websocket(
1657
1657
response = await self .postprocess_websocket (response , websocket_context )
1658
1658
await websocket_finished .send_async (
1659
1659
self ,
1660
- _sync_wrapper = self .ensure_async ,
1661
- response = response , # type: ignore
1660
+ _sync_wrapper = self .ensure_async , # type: ignore[arg-type]
1661
+ response = response ,
1662
1662
)
1663
1663
except Exception :
1664
1664
if not from_error_handler :
@@ -1681,7 +1681,7 @@ async def process_response(
1681
1681
names = [* (request_context or request_ctx ).request .blueprints , None ]
1682
1682
1683
1683
for function in (request_context or request_ctx )._after_request_functions :
1684
- response = await self .ensure_async (function )(response ) # type: ignore
1684
+ response = await self .ensure_async (function )(response ) # type: ignore[assignment]
1685
1685
1686
1686
for name in names :
1687
1687
for function in reversed (self .after_request_funcs [name ]):
@@ -1709,11 +1709,11 @@ async def postprocess_websocket(
1709
1709
names = [* (websocket_context or websocket_ctx ).websocket .blueprints , None ]
1710
1710
1711
1711
for function in (websocket_context or websocket_ctx )._after_websocket_functions :
1712
- response = await self .ensure_async (function )(response ) # type: ignore
1712
+ response = await self .ensure_async (function )(response ) # type: ignore[assignment]
1713
1713
1714
1714
for name in names :
1715
1715
for function in reversed (self .after_websocket_funcs [name ]):
1716
- response = await self .ensure_async (function )(response ) # type: ignore
1716
+ response = await self .ensure_async (function )(response ) # type: ignore[assignment]
1717
1717
1718
1718
session_ = (websocket_context or websocket_ctx ).session
1719
1719
if not self .session_interface .is_null_session (session_ ):
@@ -1768,8 +1768,8 @@ async def startup(self) -> None:
1768
1768
except Exception as error :
1769
1769
await got_serving_exception .send_async (
1770
1770
self ,
1771
- _sync_wrapper = self .ensure_async ,
1772
- exception = error , # type: ignore
1771
+ _sync_wrapper = self .ensure_async , # type: ignore[arg-type]
1772
+ exception = error ,
1773
1773
)
1774
1774
self .log_exception (sys .exc_info ())
1775
1775
raise
@@ -1798,8 +1798,8 @@ async def shutdown(self) -> None:
1798
1798
except Exception as error :
1799
1799
await got_serving_exception .send_async (
1800
1800
self ,
1801
- _sync_wrapper = self .ensure_async ,
1802
- exception = error , # type: ignore
1801
+ _sync_wrapper = self .ensure_async , # type: ignore[arg-type]
1802
+ exception = error ,
1803
1803
)
1804
1804
self .log_exception (sys .exc_info ())
1805
1805
raise
0 commit comments