failed WRONG_FIX UNSUBMITTED wrong_fix_unsubmitted(None) · None tool calls · 0 s · encode/httpx
(not found in data/tasks.jsonl)
| # | Tool | Arguments | Result |
|---|---|---|---|
| No trace captured. | |||
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -16,6 +16,7 @@ This release introduces an `httpx.SSLContext()` class and `ssl_context` paramete
* Ensure JSON request bodies are compact. (#3363)
* Review URL percent escape sets, based on WHATWG spec. (#3371, #3373)
* Ensure `certifi` and `httpcore` are only imported if required. (#3377)
+* Treat `socks5h` as a valid proxy scheme. (#3178)
## 0.27.2 (27th August, 2024)
--- a/httpx/_config.py
+++ b/httpx/_config.py
@@ -262,7 +262,7 @@ class Proxy:
url = URL(url)
headers = Headers(headers)
- if url.scheme not in ("http", "https", "socks5"):
+ if url.scheme not in ("http", "https", "socks5", "socks5h"):
raise ValueError(f"Unknown scheme for proxy URL {url!r}")
if url.username or url.password:
--- a/httpx/_transports/default.py
+++ b/httpx/_transports/default.py
@@ -189,7 +189,7 @@ class HTTPTransport(BaseTransport):
http2=http2,
socket_options=socket_options,
)
- elif proxy.url.scheme == "socks5":
+ elif proxy.url.scheme in ("socks5", "socks5h"):
try:
import socksio # noqa
except ImportError: # pragma: no cover
@@ -215,7 +215,7 @@ class HTTPTransport(BaseTransport):
)
else: # pragma: no cover
raise ValueError(
- "Proxy protocol must be either 'http', 'https', or 'socks5',"
+ "Proxy protocol must be either 'http', 'https', 'socks5', or 'socks5h',"
f" but got {proxy.url.scheme!r}."
)
@@ -338,7 +338,7 @@ class AsyncHTTPTransport(AsyncBaseTransport):
http2=http2,
socket_options=socket_options,
)
- elif proxy.url.scheme == "socks5":
+ elif proxy.url.scheme in ("socks5", "socks5h"):
try:
import socksio # noqa
except ImportError: # pragma: no cover
@@ -364,7 +364,7 @@ class AsyncHTTPTransport(AsyncBaseTransport):
)
else: # pragma: no cover
raise ValueError(
- "Proxy protocol must be either 'http', 'https', or 'socks5',"
+ "Proxy protocol must be either 'http', 'https', 'socks5', or 'socks5h',"
" but got {proxy.url.scheme!r}."
)
ImportError while loading conftest '/private/tmp/swe_work/mined_oracle/httpx_3178/b/workspace/tests/conftest.py'.
tests/conftest.py:9: in <module>
import trustme
E ModuleNotFoundError: No module named 'trustme'