From b354ae3a6309552bbe244372b31ba21af06e5c35 Mon Sep 17 00:00:00 2001 From: Kazuhiro Sera Date: Tue, 5 Nov 2024 10:30:20 +0900 Subject: [PATCH] Run mypy with falcon 4.x --- requirements/adapter.txt | 2 +- slack_bolt/adapter/falcon/async_resource.py | 7 ++++--- slack_bolt/adapter/falcon/resource.py | 8 +++++--- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/requirements/adapter.txt b/requirements/adapter.txt index 1dc0d5d60..4b2cffbbc 100644 --- a/requirements/adapter.txt +++ b/requirements/adapter.txt @@ -8,7 +8,7 @@ chalice>=1.28,<2; python_version>"3.6" CherryPy>=18,<19 Django>=3,<6 falcon>=2,<4; python_version<"3.11" -falcon>=3.1.1,<4; python_version>="3.11" +falcon>=3.1.1,<5; python_version>="3.11" fastapi>=0.70.0,<1 Flask>=1,<4 Werkzeug>=2,<4 diff --git a/slack_bolt/adapter/falcon/async_resource.py b/slack_bolt/adapter/falcon/async_resource.py index 0ce219ed1..eece0a323 100644 --- a/slack_bolt/adapter/falcon/async_resource.py +++ b/slack_bolt/adapter/falcon/async_resource.py @@ -1,8 +1,8 @@ from datetime import datetime from http import HTTPStatus -from falcon import version as falcon_version # type: ignore[import-untyped] -from falcon.asgi import Request, Response # type: ignore[import-untyped] +from falcon import version as falcon_version +from falcon.asgi import Request, Response from slack_bolt import BoltResponse from slack_bolt.async_app import AsyncApp from slack_bolt.error import BoltError @@ -41,7 +41,8 @@ async def on_get(self, req: Request, resp: Response): return resp.status = "404" - resp.body = "The page is not found..." + # Falcon 4.x w/ mypy fails to correctly infer the str type here + resp.body = "The page is not found..." # type: ignore[assignment] async def on_post(self, req: Request, resp: Response): bolt_req = await self._to_bolt_request(req) diff --git a/slack_bolt/adapter/falcon/resource.py b/slack_bolt/adapter/falcon/resource.py index 45b76146e..baf0f9745 100644 --- a/slack_bolt/adapter/falcon/resource.py +++ b/slack_bolt/adapter/falcon/resource.py @@ -1,7 +1,7 @@ from datetime import datetime from http import HTTPStatus -from falcon import Request, Response, version as falcon_version # type: ignore[import-untyped] +from falcon import Request, Response, version as falcon_version from slack_bolt import BoltResponse from slack_bolt.app import App @@ -35,7 +35,8 @@ def on_get(self, req: Request, resp: Response): return resp.status = "404" - resp.body = "The page is not found..." + # Falcon 4.x w/ mypy fails to correctly infer the str type here + resp.body = "The page is not found..." # type: ignore[assignment] def on_post(self, req: Request, resp: Response): bolt_req = self._to_bolt_request(req) @@ -51,7 +52,8 @@ def _to_bolt_request(self, req: Request) -> BoltRequest: def _write_response(self, bolt_resp: BoltResponse, resp: Response): if falcon_version.__version__.startswith("2."): - resp.body = bolt_resp.body + # Falcon 4.x w/ mypy fails to correctly infer the str type here + resp.body = bolt_resp.body # type: ignore[assignment] else: resp.text = bolt_resp.body