dev-python/httpx: Remove old

Signed-off-by: Michał Górny <mgorny@gentoo.org>
This commit is contained in:
Michał Górny
2022-12-10 10:05:27 +01:00
parent 0aeae099d2
commit c1a7ea4988
3 changed files with 0 additions and 160 deletions

View File

@@ -1,2 +1 @@
DIST httpx-0.23.0.gh.tar.gz 2160686 BLAKE2B 036c66b2c3f743cd069716297f331f0d75043a98180b9db3e156c5692ae8bf9c68d1db87169953a7f44aaf7ee8554d0166f70b508f77b7ff4b0ebc0500bc02ad SHA512 3cfdf2b3b2f15967a1eec0be05ed947c5e18a46576b68a9cbfd5147dfd4736cb7c389f5431732b93f3a11f3ec6c6f25f7cbb3d96d845f00b58e2b8dae047c1d5
DIST httpx-0.23.1.gh.tar.gz 2161798 BLAKE2B ee01771377bbfebbc4a9346280c8d59508c78295e61b6f9d60a07099e44dfb0fc208d37b68f511bbbacb48438cf6daa73ef82d7a7ae75470409c8346ddad0ad5 SHA512 3fe280b6d3cb1a12bdd502e7bd432588375f9cebfcd9e071acb6e851866a56d84a715428599a297f5df43d73997b2a0c02ba1a12b3e32d292b2051161a350751

View File

@@ -1,68 +0,0 @@
From f13ab4d288d0b790f6f1c515a6c0ea45e9615748 Mon Sep 17 00:00:00 2001
From: Florimond Manca <florimond.manca@protonmail.com>
Date: Thu, 25 Aug 2022 12:23:04 +0200
Subject: [PATCH] Replace cgi which will be deprecated in Python 3.11 (#2309)
* Replace cgi which will be deprecated in Python 3.11
* Update httpx/_utils.py
---
httpx/_models.py | 8 ++------
httpx/_utils.py | 9 +++++++++
2 files changed, 11 insertions(+), 6 deletions(-)
diff --git a/httpx/_models.py b/httpx/_models.py
index fd1d7fe9a..7a3b5885d 100644
--- a/httpx/_models.py
+++ b/httpx/_models.py
@@ -1,4 +1,3 @@
-import cgi
import datetime
import email.message
import json as jsonlib
@@ -47,6 +46,7 @@
normalize_header_key,
normalize_header_value,
obfuscate_sensitive_headers,
+ parse_content_type_charset,
parse_header_links,
)
@@ -608,11 +608,7 @@ def charset_encoding(self) -> typing.Optional[str]:
if content_type is None:
return None
- _, params = cgi.parse_header(content_type)
- if "charset" not in params:
- return None
-
- return params["charset"].strip("'\"")
+ return parse_content_type_charset(content_type)
def _get_content_decoder(self) -> ContentDecoder:
"""
diff --git a/httpx/_utils.py b/httpx/_utils.py
index e01c050df..ecce4f417 100644
--- a/httpx/_utils.py
+++ b/httpx/_utils.py
@@ -1,4 +1,5 @@
import codecs
+import email.message
import logging
import mimetypes
import netrc
@@ -209,6 +210,14 @@ def parse_header_links(value: str) -> typing.List[typing.Dict[str, str]]:
return links
+def parse_content_type_charset(content_type: str) -> typing.Optional[str]:
+ # We used to use `cgi.parse_header()` here, but `cgi` became a dead battery.
+ # See: https://peps.python.org/pep-0594/#cgi
+ msg = email.message.Message()
+ msg["content-type"] = content_type
+ return msg.get_content_charset(failobj=None)
+
+
SENSITIVE_HEADERS = {"authorization", "proxy-authorization"}

View File

@@ -1,91 +0,0 @@
# Copyright 2022 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
# Docs builder mkdocs not keyworded on all these arches yet
# DOCS_BUILDER="mkdocs"
# DOCS_DEPEND="dev-python/mkdocs-material"
# DOCS_AUTODOC=1
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( pypy3 python3_{8..11} )
inherit distutils-r1 optfeature # docs
DESCRIPTION="Fully-featured HTTP client which provides sync and async APIs"
HOMEPAGE="
https://www.python-httpx.org/
https://github.com/encode/httpx/
https://pypi.org/project/httpx/
"
SRC_URI="
https://github.com/encode/httpx/archive/${PV}.tar.gz
-> ${P}.gh.tar.gz
"
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="cli"
RDEPEND="
dev-python/certifi[${PYTHON_USEDEP}]
dev-python/sniffio[${PYTHON_USEDEP}]
=dev-python/httpcore-0.15*[${PYTHON_USEDEP}]
>=dev-python/rfc3986-1.3[${PYTHON_USEDEP}]
cli? (
=dev-python/click-8*[${PYTHON_USEDEP}]
=dev-python/pygments-2*[${PYTHON_USEDEP}]
<dev-python/rich-13[${PYTHON_USEDEP}]
)
"
BDEPEND="
test? (
dev-python/brotlicffi[${PYTHON_USEDEP}]
dev-python/cryptography[${PYTHON_USEDEP}]
dev-python/h2[${PYTHON_USEDEP}]
dev-python/pytest-asyncio[${PYTHON_USEDEP}]
dev-python/pytest-trio[${PYTHON_USEDEP}]
dev-python/socksio[${PYTHON_USEDEP}]
dev-python/trio[${PYTHON_USEDEP}]
dev-python/trustme[${PYTHON_USEDEP}]
dev-python/typing-extensions[${PYTHON_USEDEP}]
dev-python/uvicorn[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest
src_prepare() {
local PATCHES=(
"${FILESDIR}"/${P}-cgi.patch
)
# unpin deps
sed -i -e 's:==[0-9.*]\+::' -e 's:,<[0-9.]\+::' setup.py || die
if ! use cli; then
sed -i -e '/console_scripts/d' setup.py || die
fi
distutils-r1_src_prepare
}
python_test() {
local EPYTEST_DESELECT=(
# Internet
tests/client/test_proxies.py::test_async_proxy_close
tests/client/test_proxies.py::test_sync_proxy_close
)
local EPYTEST_IGNORE=()
use cli || EPYTEST_IGNORE+=(
tests/test_main.py
)
epytest
}
pkg_postinst() {
optfeature "HTTP/2 support" dev-python/h2
optfeature "SOCKS proxy support" dev-python/socksio
optfeature "Decoding for brotli compressed responses" dev-python/brotlicffi
}