encode / httpx

A next generation HTTP client for Python. 🦋

Home Page:https://www.python-httpx.org/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Inconsistent Timeout Exception

ChihweiLHBird opened this issue · comments

httpx.get("https://www.google.com", timeout=0.0000001) raises:
httpx.ConnectError: [Errno 65] No route to host
(NOT a sub-class of TimeoutException)

httpx.get("https://www.google.com", timeout=0.05) raises:
httpx.ConnectTimeout: _ssl.c:983: The handshake operation timed out
(a sub-class of TimeoutException)

httpx.get("https://www.google.com", timeout=0.015) raises:
httpx.ReadTimeout: The read operation timed out
(a sub-class of TimeoutException)

Your mileage may vary depends on the latency between your location and the Google server.

I think ideally all timeouts of operation should raise a consistent exception (sub-class of TimeoutException) from the httpx client.