File: SocketServer.pyi

package info (click to toggle)
mypy 0.470-complete-1
  • links: PTS, VCS
  • area: main
  • in suites: stretch
  • size: 5,864 kB
  • ctags: 3,264
  • sloc: python: 21,838; makefile: 18
file content (93 lines) | stat: -rw-r--r-- 3,564 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
# Stubs for socketserver

from typing import Any, BinaryIO, Optional, Tuple
from socket import SocketType
import sys
import types

class BaseServer:
    address_family = ...  # type: int
    RequestHandlerClass = ...  # type: type
    server_address = ...  # type: Tuple[str, int]
    socket = ...  # type: SocketType
    allow_reuse_address = ...  # type: bool
    request_queue_size = ...  # type: int
    socket_type = ...  # type: int
    timeout = ...  # type: Optional[float]
    def __init__(self, server_address: Tuple[str, int],
                 RequestHandlerClass: type) -> None: ...
    def fileno(self) -> int: ...
    def handle_request(self) -> None: ...
    def serve_forever(self, poll_interval: float = ...) -> None: ...
    def shutdown(self) -> None: ...
    def server_close(self) -> None: ...
    def finish_request(self) -> None: ...
    def get_request(self) -> None: ...
    def handle_error(self, request: bytes,
                     client_address: Tuple[str, int]) -> None: ...
    def handle_timeout(self) -> None: ...
    def process_request(self, request: bytes,
                        client_address: Tuple[str, int]) -> None: ...
    def server_activate(self) -> None: ...
    def server_bind(self) -> None: ...
    def verify_request(self, request: bytes,
                       client_address: Tuple[str, int]) -> bool: ...
    if sys.version_info >= (3, 6):
        def __enter__(self) -> 'BaseServer': ...
        def __exit__(self, exc_type: Optional[type],
                     exc_val: Optional[Exception],
                     exc_tb: Optional[types.TracebackType]) -> bool: ...
    if sys.version_info >= (3, 3):
        def service_actions(self) -> None: ...

class TCPServer(BaseServer):
    def __init__(self, server_address: Tuple[str, int],
                 RequestHandlerClass: type,
                 bind_and_activate: bool = ...) -> None: ...

class UDPServer(BaseServer):
    def __init__(self, server_address: Tuple[str, int],
                 RequestHandlerClass: type,
                 bind_and_activate: bool = ...) -> None: ...

class UnixStreamServer(BaseServer):
    def __init__(self, server_address: Tuple[str, int],
                 RequestHandlerClass: type,
                 bind_and_activate: bool = ...) -> None: ...

class UnixDatagramServer(BaseServer):
    def __init__(self, server_address: Tuple[str, int],
                 RequestHandlerClass: type,
                 bind_and_activate: bool = ...) -> None: ...

class ForkingMixIn: ...
class ThreadingMixIn: ...

class ForkingTCPServer(ForkingMixIn, TCPServer): ...
class ForkingUDPServer(ForkingMixIn, UDPServer): ...
class ThreadingTCPServer(ThreadingMixIn, TCPServer): ...
class ThreadingUDPServer(ThreadingMixIn, UDPServer): ...


class BaseRequestHandler:
    # Those are technically of types, respectively:
    # * Union[SocketType, Tuple[bytes, SocketType]]
    # * Union[Tuple[str, int], str]
    # But there are some concerns that having unions here would cause
    # too much inconvenience to people using it (see
    # https://github.com/python/typeshed/pull/384#issuecomment-234649696)
    request = ...  # type: Any
    client_address = ...  # type: Any

    server = ...  # type: BaseServer
    def setup(self) -> None: ...
    def handle(self) -> None: ...
    def finish(self) -> None: ...

class StreamRequestHandler(BaseRequestHandler):
    rfile = ...  # type: BinaryIO
    wfile = ...  # type: BinaryIO

class DatagramRequestHandler(BaseRequestHandler):
    rfile = ...  # type: BinaryIO
    wfile = ...  # type: BinaryIO