http: improve types (#9055)

This commit is contained in:
Jelle Zijlstra
2022-11-03 01:55:56 -07:00
committed by GitHub
parent 460158fc40
commit 6b702452b6
3 changed files with 25 additions and 9 deletions

View File

@@ -2,10 +2,10 @@ import email.message
import io
import ssl
import types
from _typeshed import Self, WriteableBuffer
from _typeshed import ReadableBuffer, Self, SupportsRead, WriteableBuffer
from collections.abc import Callable, Iterable, Iterator, Mapping
from socket import socket
from typing import IO, Any, BinaryIO, TypeVar, overload
from typing import Any, BinaryIO, TypeVar, overload
from typing_extensions import TypeAlias
__all__ = [
@@ -30,7 +30,7 @@ __all__ = [
"HTTPSConnection",
]
_DataType: TypeAlias = bytes | IO[Any] | Iterable[bytes] | str
_DataType: TypeAlias = SupportsRead[bytes] | Iterable[ReadableBuffer] | ReadableBuffer
_T = TypeVar("_T")
HTTP_PORT: int
@@ -164,7 +164,7 @@ class HTTPConnection:
def putrequest(self, method: str, url: str, skip_host: bool = ..., skip_accept_encoding: bool = ...) -> None: ...
def putheader(self, header: str, *argument: str) -> None: ...
def endheaders(self, message_body: _DataType | None = ..., *, encode_chunked: bool = ...) -> None: ...
def send(self, data: _DataType) -> None: ...
def send(self, data: _DataType | str) -> None: ...
class HTTPSConnection(HTTPConnection):
# Can be `None` if `.connect()` was not called:

View File

@@ -1,6 +1,7 @@
import email.message
import io
import socketserver
import sys
from _typeshed import StrPath, SupportsRead, SupportsWrite
from collections.abc import Mapping, Sequence
from typing import Any, AnyStr, BinaryIO, ClassVar
@@ -31,7 +32,6 @@ class BaseHTTPRequestHandler(socketserver.StreamRequestHandler):
default_request_version: str # undocumented
weekdayname: ClassVar[Sequence[str]] # undocumented
monthname: ClassVar[Sequence[str | None]] # undocumented
def __init__(self, request: bytes, client_address: tuple[str, int], server: socketserver.BaseServer) -> None: ...
def handle_one_request(self) -> None: ...
def handle_expect_100(self) -> bool: ...
def send_error(self, code: int, message: str | None = ..., explain: str | None = ...) -> None: ...
@@ -51,9 +51,26 @@ class BaseHTTPRequestHandler(socketserver.StreamRequestHandler):
class SimpleHTTPRequestHandler(BaseHTTPRequestHandler):
extensions_map: dict[str, str]
def __init__(
self, request: bytes, client_address: tuple[str, int], server: socketserver.BaseServer, directory: str | None = ...
) -> None: ...
if sys.version_info >= (3, 12):
def __init__(
self,
request: socketserver._RequestType,
client_address: socketserver._AddressType,
server: socketserver.BaseServer,
*,
directory: str | None = ...,
) -> None: ...
else:
def __init__(
self,
request: socketserver._RequestType,
client_address: socketserver._AddressType,
server: socketserver.BaseServer,
*,
directory: str | None = ...,
index_pages: Sequence[str] | None = ...,
) -> None: ...
def do_GET(self) -> None: ...
def do_HEAD(self) -> None: ...
def send_head(self) -> io.BytesIO | BinaryIO | None: ... # undocumented

View File

@@ -422,7 +422,6 @@ ssl.RAND_egd
collections.abc.* # Types are re-exported from _collections_abc, so errors should be fixed there
distutils.command.check.SilentReporter # only defined if docutils in installed
hmac.HMAC.blocksize # use block_size instead
http.server.SimpleHTTPRequestHandler.__init__ # *args is expanded
pickle.Pickler.memo # undocumented implementation detail, has different type in C/Python implementations
pickle.Unpickler.memo # undocumented implementation detail, has different type in C/Python implementations
re.Pattern.scanner # Undocumented and not useful. #6405