[stdlib] Deprecate keyfile, certfile and check_hostname parameters (#15259)

This commit is contained in:
Semyon Moroz
2026-01-11 22:31:03 +00:00
committed by GitHub
parent 3593e35df4
commit a679bdc438
5 changed files with 125 additions and 28 deletions
+24 -3
View File
@@ -3,7 +3,7 @@ import io
import ssl
import sys
import types
from _typeshed import MaybeNone, ReadableBuffer, SupportsRead, SupportsReadline, WriteableBuffer
from _typeshed import MaybeNone, ReadableBuffer, StrOrBytesPath, SupportsRead, SupportsReadline, WriteableBuffer
from collections.abc import Callable, Iterable, Iterator, Mapping
from email._policybase import _MessageT
from socket import socket
@@ -223,12 +223,31 @@ class HTTPSConnection(HTTPConnection):
blocksize: int = 8192,
) -> None: ...
else:
@overload
def __init__(
self,
host: str,
port: int | None = None,
key_file: str | None = None,
cert_file: str | None = None,
key_file: None = None,
cert_file: None = None,
timeout: float | None = ...,
source_address: tuple[str, int] | None = None,
*,
context: ssl.SSLContext | None = None,
check_hostname: None = None,
blocksize: int = 8192,
) -> None: ...
@overload
@deprecated(
"The `key_file`, `cert_file`, `check_hostname` parameters are deprecated since Python 3.6; "
"removed in Python 3.12. Use `context` parameter instead."
)
def __init__(
self,
host: str,
port: int | None = None,
key_file: StrOrBytesPath | None = None,
cert_file: StrOrBytesPath | None = None,
timeout: float | None = ...,
source_address: tuple[str, int] | None = None,
*,
@@ -236,6 +255,8 @@ class HTTPSConnection(HTTPConnection):
check_hostname: bool | None = None,
blocksize: int = 8192,
) -> None: ...
key_file: StrOrBytesPath | None
cert_file: StrOrBytesPath | None
class HTTPException(Exception): ...