Skip to content

Commit dae5817

Browse files
Fix BaseServer request and client_address types (#4992)
1 parent 99a9719 commit dae5817

File tree

1 file changed

+46
-11
lines changed

1 file changed

+46
-11
lines changed

stdlib/socketserver.pyi

+46-11
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
import sys
22
import types
33
from socket import SocketType
4-
from typing import Any, BinaryIO, Callable, ClassVar, List, Optional, Tuple, Type, TypeVar, Union
4+
from typing import Any, BinaryIO, Callable, ClassVar, Optional, Set, Tuple, Type, TypeVar, Union
55

66
_T = TypeVar("_T")
77

@@ -20,19 +20,29 @@ class BaseServer:
2020
def serve_forever(self, poll_interval: float = ...) -> None: ...
2121
def shutdown(self) -> None: ...
2222
def server_close(self) -> None: ...
23-
def finish_request(self, request: bytes, client_address: Tuple[str, int]) -> None: ...
24-
def get_request(self) -> Tuple[SocketType, Tuple[str, int]]: ...
25-
def handle_error(self, request: bytes, client_address: Tuple[str, int]) -> None: ...
23+
def finish_request(
24+
self, request: Union[SocketType, Tuple[bytes, SocketType]], client_address: Union[Tuple[str, int], str]
25+
) -> None: ...
26+
def get_request(self) -> Tuple[Any, Any]: ...
27+
def handle_error(
28+
self, request: Union[SocketType, Tuple[bytes, SocketType]], client_address: Union[Tuple[str, int], str]
29+
) -> None: ...
2630
def handle_timeout(self) -> None: ...
27-
def process_request(self, request: bytes, client_address: Tuple[str, int]) -> None: ...
31+
def process_request(
32+
self, request: Union[SocketType, Tuple[bytes, SocketType]], client_address: Union[Tuple[str, int], str]
33+
) -> None: ...
2834
def server_activate(self) -> None: ...
2935
def server_bind(self) -> None: ...
30-
def verify_request(self, request: bytes, client_address: Tuple[str, int]) -> bool: ...
36+
def verify_request(
37+
self, request: Union[SocketType, Tuple[bytes, SocketType]], client_address: Union[Tuple[str, int], str]
38+
) -> bool: ...
3139
def __enter__(self: _T) -> _T: ...
3240
def __exit__(
3341
self, exc_type: Optional[Type[BaseException]], exc_val: Optional[BaseException], exc_tb: Optional[types.TracebackType]
3442
) -> None: ...
3543
def service_actions(self) -> None: ...
44+
def shutdown_request(self, request: Union[SocketType, Tuple[bytes, SocketType]]) -> None: ... # undocumented
45+
def close_request(self, request: Union[SocketType, Tuple[bytes, SocketType]]) -> None: ... # undocumented
3646

3747
class TCPServer(BaseServer):
3848
def __init__(
@@ -41,6 +51,13 @@ class TCPServer(BaseServer):
4151
RequestHandlerClass: Callable[..., BaseRequestHandler],
4252
bind_and_activate: bool = ...,
4353
) -> None: ...
54+
def get_request(self) -> Tuple[SocketType, Any]: ...
55+
def finish_request(self, request: SocketType, client_address: Union[Tuple[str, int], str]) -> None: ...
56+
def handle_error(self, request: SocketType, client_address: Union[Tuple[str, int], str]) -> None: ...
57+
def process_request(self, request: SocketType, client_address: Union[Tuple[str, int], str]) -> None: ...
58+
def verify_request(self, request: SocketType, client_address: Union[Tuple[str, int], str]) -> bool: ...
59+
def shutdown_request(self, request: SocketType) -> None: ... # undocumented
60+
def close_request(self, request: SocketType) -> None: ... # undocumented
4461

4562
class UDPServer(BaseServer):
4663
def __init__(
@@ -49,6 +66,13 @@ class UDPServer(BaseServer):
4966
RequestHandlerClass: Callable[..., BaseRequestHandler],
5067
bind_and_activate: bool = ...,
5168
) -> None: ...
69+
def get_request(self) -> Tuple[Tuple[bytes, SocketType], Any]: ...
70+
def finish_request(self, request: Tuple[bytes, SocketType], client_address: Union[Tuple[str, int], str]) -> None: ...
71+
def handle_error(self, request: Tuple[bytes, SocketType], client_address: Union[Tuple[str, int], str]) -> None: ...
72+
def process_request(self, request: Tuple[bytes, SocketType], client_address: Union[Tuple[str, int], str]) -> None: ...
73+
def verify_request(self, request: Tuple[bytes, SocketType], client_address: Union[Tuple[str, int], str]) -> bool: ...
74+
def shutdown_request(self, request: Tuple[bytes, SocketType]) -> None: ... # undocumented
75+
def close_request(self, request: Tuple[bytes, SocketType]) -> None: ... # undocumented
5276

5377
if sys.platform != "win32":
5478
class UnixStreamServer(BaseServer):
@@ -69,22 +93,28 @@ if sys.platform != "win32":
6993
if sys.platform != "win32":
7094
class ForkingMixIn:
7195
timeout: Optional[float] # undocumented
72-
active_children: Optional[List[int]] # undocumented
96+
active_children: Optional[Set[int]] # undocumented
7397
max_children: int # undocumented
7498
if sys.version_info >= (3, 7):
7599
block_on_close: bool
76100
def collect_children(self, *, blocking: bool = ...) -> None: ... # undocumented
77101
def handle_timeout(self) -> None: ... # undocumented
78102
def service_actions(self) -> None: ... # undocumented
79-
def process_request(self, request: bytes, client_address: Tuple[str, int]) -> None: ...
103+
def process_request(
104+
self, request: Union[SocketType, Tuple[bytes, SocketType]], client_address: Union[Tuple[str, int], str]
105+
) -> None: ...
80106
def server_close(self) -> None: ...
81107

82108
class ThreadingMixIn:
83109
daemon_threads: bool
84110
if sys.version_info >= (3, 7):
85111
block_on_close: bool
86-
def process_request_thread(self, request: bytes, client_address: Tuple[str, int]) -> None: ... # undocumented
87-
def process_request(self, request: bytes, client_address: Tuple[str, int]) -> None: ...
112+
def process_request_thread(
113+
self, request: Union[SocketType, Tuple[bytes, SocketType]], client_address: Union[Tuple[str, int], str]
114+
) -> None: ... # undocumented
115+
def process_request(
116+
self, request: Union[SocketType, Tuple[bytes, SocketType]], client_address: Union[Tuple[str, int], str]
117+
) -> None: ...
88118
def server_close(self) -> None: ...
89119

90120
if sys.platform != "win32":
@@ -108,7 +138,12 @@ class BaseRequestHandler:
108138
request: Any
109139
client_address: Any
110140
server: BaseServer
111-
def __init__(self, request: Any, client_address: Any, server: BaseServer) -> None: ...
141+
def __init__(
142+
self,
143+
request: Union[SocketType, Tuple[bytes, SocketType]],
144+
client_address: Union[Tuple[str, int], str],
145+
server: BaseServer,
146+
) -> None: ...
112147
def setup(self) -> None: ...
113148
def handle(self) -> None: ...
114149
def finish(self) -> None: ...

0 commit comments

Comments
 (0)