]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
web: More accurate typing for get_{body,query}_argument() 3378/head
authorPhilippe Cavalaria <pcavalar@duosecurity.com>
Fri, 17 May 2024 10:41:44 +0000 (12:41 +0200)
committerPhilippe Cavalaria <pcavalar@duosecurity.com>
Fri, 17 May 2024 10:41:44 +0000 (12:41 +0200)
Use the same overload technique as get_argument().

Fixes https://github.com/tornadoweb/tornado/issues/3336

tornado/web.py

index 039396470f8c701a8284a24612b18793b2b5840f..904a5b874c301cbdb3217a24a8e293457cc9b57c 100644 (file)
@@ -470,7 +470,23 @@ class RequestHandler(object):
 
         return self._get_arguments(name, self.request.arguments, strip)
 
-    def get_body_argument(
+    @overload
+    def get_body_argument(self, name: str, default: str, strip: bool = True) -> str:
+        pass
+
+    @overload
+    def get_body_argument(  # noqa: F811
+        self, name: str, default: _ArgDefaultMarker = _ARG_DEFAULT, strip: bool = True
+    ) -> str:
+        pass
+
+    @overload
+    def get_body_argument(  # noqa: F811
+        self, name: str, default: None, strip: bool = True
+    ) -> Optional[str]:
+        pass
+
+    def get_body_argument(  # noqa: F811
         self,
         name: str,
         default: Union[None, str, _ArgDefaultMarker] = _ARG_DEFAULT,
@@ -498,7 +514,23 @@ class RequestHandler(object):
         """
         return self._get_arguments(name, self.request.body_arguments, strip)
 
-    def get_query_argument(
+    @overload
+    def get_query_argument(self, name: str, default: str, strip: bool = True) -> str:
+        pass
+
+    @overload
+    def get_query_argument(  # noqa: F811
+        self, name: str, default: _ArgDefaultMarker = _ARG_DEFAULT, strip: bool = True
+    ) -> str:
+        pass
+
+    @overload
+    def get_query_argument(  # noqa: F811
+        self, name: str, default: None, strip: bool = True
+    ) -> Optional[str]:
+        pass
+
+    def get_query_argument(  # noqa: F811
         self,
         name: str,
         default: Union[None, str, _ArgDefaultMarker] = _ARG_DEFAULT,