Skip to content

add missing type hints in http.cookiejar #5797

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 3 commits into from
Jul 22, 2021
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
36 changes: 29 additions & 7 deletions stdlib/http/cookiejar.pyi
Original file line number Diff line number Diff line change
@@ -1,14 +1,20 @@
import sys
from _typeshed import StrPath
from http.client import HTTPResponse
from typing import Dict, Iterable, Iterator, Optional, Sequence, Tuple, TypeVar, Union, overload
from typing import ClassVar, Dict, Iterable, Iterator, Optional, Pattern, Sequence, Tuple, TypeVar, Union, overload
from urllib.request import Request

_T = TypeVar("_T")

class LoadError(OSError): ...

class CookieJar(Iterable[Cookie]):
non_word_re: ClassVar[Pattern[str]] = ... # undocumented
quote_re: ClassVar[Pattern[str]] = ... # undocumented
strict_domain_re: ClassVar[Pattern[str]] = ... # undocumented
domain_re: ClassVar[Pattern[str]] = ... # undocumented
dots_re: ClassVar[Pattern[str]] = ... # undocumented
magic_re: ClassVar[Pattern[str]] = ... # undocumented
def __init__(self, policy: Optional[CookiePolicy] = ...) -> None: ...
def add_cookie_header(self, request: Request) -> None: ...
def extract_cookies(self, response: HTTPResponse, request: Request) -> None: ...
Expand All @@ -18,8 +24,11 @@ class CookieJar(Iterable[Cookie]):
def set_cookie_if_ok(self, cookie: Cookie, request: Request) -> None: ...
def clear(self, domain: Optional[str] = ..., path: Optional[str] = ..., name: Optional[str] = ...) -> None: ...
def clear_session_cookies(self) -> None: ...
def clear_expired_cookies(self) -> None: ... # undocumented
def __iter__(self) -> Iterator[Cookie]: ...
def __len__(self) -> int: ...
def __repr__(self) -> str: ...
def __str__(self) -> str: ...

class FileCookieJar(CookieJar):
filename: str
Expand All @@ -36,7 +45,8 @@ class FileCookieJar(CookieJar):
def load(self, filename: Optional[str] = ..., ignore_discard: bool = ..., ignore_expires: bool = ...) -> None: ...
def revert(self, filename: Optional[str] = ..., ignore_discard: bool = ..., ignore_expires: bool = ...) -> None: ...

class MozillaCookieJar(FileCookieJar): ...
class MozillaCookieJar(FileCookieJar):
header: ClassVar[str] = ... # undocumented

class LWPCookieJar(FileCookieJar):
def as_lwp_str(self, ignore_discard: bool = ..., ignore_expires: bool = ...) -> str: ... # undocumented
Expand All @@ -58,11 +68,11 @@ class DefaultCookiePolicy(CookiePolicy):
strict_ns_domain: int
strict_ns_set_initial_dollar: bool
strict_ns_set_path: bool
DomainStrictNoDots: int
DomainStrictNonDomain: int
DomainRFC2965Match: int
DomainLiberal: int
DomainStrict: int
DomainStrictNoDots: ClassVar[int]
DomainStrictNonDomain: ClassVar[int]
DomainRFC2965Match: ClassVar[int]
DomainLiberal: ClassVar[int]
DomainStrict: ClassVar[int]
if sys.version_info >= (3, 8):
def __init__(
self,
Expand Down Expand Up @@ -102,6 +112,18 @@ class DefaultCookiePolicy(CookiePolicy):
def allowed_domains(self) -> Optional[Tuple[str, ...]]: ...
def set_allowed_domains(self, allowed_domains: Optional[Sequence[str]]) -> None: ...
def is_not_allowed(self, domain: str) -> bool: ...
def set_ok_version(self, cookie: Cookie, request: Request) -> bool: ... # undocumented
def set_ok_verifiability(self, cookie: Cookie, request: Request) -> bool: ... # undocumented
def set_ok_name(self, cookie: Cookie, request: Request) -> bool: ... # undocumented
def set_ok_path(self, cookie: Cookie, request: Request) -> bool: ... # undocumented
def set_ok_domain(self, cookie: Cookie, request: Request) -> bool: ... # undocumented
def set_ok_port(self, cookie: Cookie, request: Request) -> bool: ... # undocumented
def return_ok_version(self, cookie: Cookie, request: Request) -> bool: ... # undocumented
def return_ok_verifiability(self, cookie: Cookie, request: Request) -> bool: ... # undocumented
def return_ok_secure(self, cookie: Cookie, request: Request) -> bool: ... # undocumented
def return_ok_expires(self, cookie: Cookie, request: Request) -> bool: ... # undocumented
def return_ok_port(self, cookie: Cookie, request: Request) -> bool: ... # undocumented
def return_ok_domain(self, cookie: Cookie, request: Request) -> bool: ... # undocumented

class Cookie:
version: Optional[int]
Expand Down