Skip to content

Commit

Permalink
Updated httpx to v0.25 and deps
Browse files Browse the repository at this point in the history
  • Loading branch information
CastagnaIT committed Sep 13, 2023
1 parent 057b8d9 commit 6e60317
Show file tree
Hide file tree
Showing 119 changed files with 11,962 additions and 10,976 deletions.
3 changes: 2 additions & 1 deletion packages/certifi/__init__.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
from .core import contents, where

__version__ = "2021.05.30"
__all__ = ["contents", "where"]
__version__ = "2023.07.22"
1,486 changes: 932 additions & 554 deletions packages/certifi/cacert.pem

Large diffs are not rendered by default.

74 changes: 61 additions & 13 deletions packages/certifi/core.py
Original file line number Diff line number Diff line change
@@ -1,20 +1,20 @@
# -*- coding: utf-8 -*-

"""
certifi.py
~~~~~~~~~~
This module returns the installation location of cacert.pem or its contents.
"""
import os
import sys

try:
from importlib.resources import path as get_path, read_text

if sys.version_info >= (3, 11):

from importlib.resources import as_file, files

_CACERT_CTX = None
_CACERT_PATH = None

def where():
def where() -> str:
# This is slightly terrible, but we want to delay extracting the file
# in cases where we're inside of a zipimport situation until someone
# actually calls where(), but we don't want to re-extract the file
Expand All @@ -33,28 +33,76 @@ def where():
# We also have to hold onto the actual context manager, because
# it will do the cleanup whenever it gets garbage collected, so
# we will also store that at the global level as well.
_CACERT_CTX = as_file(files("certifi").joinpath("cacert.pem"))
_CACERT_PATH = str(_CACERT_CTX.__enter__())

return _CACERT_PATH

def contents() -> str:
return files("certifi").joinpath("cacert.pem").read_text(encoding="ascii")

elif sys.version_info >= (3, 7):

from importlib.resources import path as get_path, read_text

_CACERT_CTX = None
_CACERT_PATH = None

def where() -> str:
# This is slightly terrible, but we want to delay extracting the
# file in cases where we're inside of a zipimport situation until
# someone actually calls where(), but we don't want to re-extract
# the file on every call of where(), so we'll do it once then store
# it in a global variable.
global _CACERT_CTX
global _CACERT_PATH
if _CACERT_PATH is None:
# This is slightly janky, the importlib.resources API wants you
# to manage the cleanup of this file, so it doesn't actually
# return a path, it returns a context manager that will give
# you the path when you enter it and will do any cleanup when
# you leave it. In the common case of not needing a temporary
# file, it will just return the file system location and the
# __exit__() is a no-op.
#
# We also have to hold onto the actual context manager, because
# it will do the cleanup whenever it gets garbage collected, so
# we will also store that at the global level as well.
_CACERT_CTX = get_path("certifi", "cacert.pem")
_CACERT_PATH = str(_CACERT_CTX.__enter__())

return _CACERT_PATH

def contents() -> str:
return read_text("certifi", "cacert.pem", encoding="ascii")

else:
import os
import types
from typing import Union

Package = Union[types.ModuleType, str]
Resource = Union[str, "os.PathLike"]

except ImportError:
# This fallback will work for Python versions prior to 3.7 that lack the
# importlib.resources module but relies on the existing `where` function
# so won't address issues with environments like PyOxidizer that don't set
# __file__ on modules.
def read_text(_module, _path, encoding="ascii"):
with open(where(), "r", encoding=encoding) as data:
def read_text(
package: Package,
resource: Resource,
encoding: str = 'utf-8',
errors: str = 'strict'
) -> str:
with open(where(), encoding=encoding) as data:
return data.read()

# If we don't have importlib.resources, then we will just do the old logic
# of assuming we're on the filesystem and munge the path directly.
def where():
def where() -> str:
f = os.path.dirname(__file__)

return os.path.join(f, "cacert.pem")


def contents():
return read_text("certifi", "cacert.pem", encoding="ascii")
def contents() -> str:
return read_text("certifi", "cacert.pem", encoding="ascii")
Empty file added packages/certifi/py.typed
Empty file.
59 changes: 50 additions & 9 deletions packages/h11/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,16 +6,57 @@
# semantics to check that what you're asking to write to the wire is sensible,
# but at least it gets you out of dealing with the wire itself.

from ._connection import *
from ._events import *
from ._state import *
from ._util import LocalProtocolError, ProtocolError, RemoteProtocolError
from ._version import __version__
from h11._connection import Connection, NEED_DATA, PAUSED
from h11._events import (
ConnectionClosed,
Data,
EndOfMessage,
Event,
InformationalResponse,
Request,
Response,
)
from h11._state import (
CLIENT,
CLOSED,
DONE,
ERROR,
IDLE,
MIGHT_SWITCH_PROTOCOL,
MUST_CLOSE,
SEND_BODY,
SEND_RESPONSE,
SERVER,
SWITCHED_PROTOCOL,
)
from h11._util import LocalProtocolError, ProtocolError, RemoteProtocolError
from h11._version import __version__

PRODUCT_ID = "python-h11/" + __version__


__all__ = ["ProtocolError", "LocalProtocolError", "RemoteProtocolError"]
__all__ += _events.__all__
__all__ += _connection.__all__
__all__ += _state.__all__
__all__ = (
"Connection",
"NEED_DATA",
"PAUSED",
"ConnectionClosed",
"Data",
"EndOfMessage",
"Event",
"InformationalResponse",
"Request",
"Response",
"CLIENT",
"CLOSED",
"DONE",
"ERROR",
"IDLE",
"MUST_CLOSE",
"SEND_BODY",
"SEND_RESPONSE",
"SERVER",
"SWITCHED_PROTOCOL",
"ProtocolError",
"LocalProtocolError",
"RemoteProtocolError",
)
5 changes: 4 additions & 1 deletion packages/h11/_abnf.py
Original file line number Diff line number Diff line change
Expand Up @@ -125,5 +125,8 @@
chunk_header = (
r"(?P<chunk_size>{chunk_size})"
r"(?P<chunk_ext>{chunk_ext})?"
r"\r\n".format(**globals())
r"{OWS}\r\n".format(
**globals()
) # Even though the specification does not allow for extra whitespaces,
# we are lenient with trailing whitespaces because some servers on the wild use it.
)
Loading

0 comments on commit 6e60317

Please sign in to comment.