mirror of
https://github.com/davidhalter/typeshed.git
synced 2025-12-24 21:01:52 +08:00
http: improve types (#9055)
This commit is contained in:
@@ -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:
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user