Skip to content

Commit

Permalink
web: More accurate typing for get_{body,query}_argument()
Browse files Browse the repository at this point in the history
Use the same overload technique as get_argument().

Fixes tornadoweb#3336
  • Loading branch information
pcavalar committed May 17, 2024
1 parent f399f40 commit 6db0d9d
Showing 1 changed file with 34 additions and 2 deletions.
36 changes: 34 additions & 2 deletions tornado/web.py
Original file line number Diff line number Diff line change
Expand Up @@ -470,7 +470,23 @@ def get_arguments(self, name: str, strip: bool = True) -> List[str]:

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,
Expand Down Expand Up @@ -498,7 +514,23 @@ def get_body_arguments(self, name: str, strip: bool = True) -> List[str]:
"""
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,
Expand Down

0 comments on commit 6db0d9d

Please sign in to comment.