Zum Inhalt springen

HTTPX Release Notes

30 Einträge aus 1 Quelle. Zuletzt aktualisiert:

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

HTTPX

HTTPX 0.20.0: Kommandozeilen-Client, Redirects nicht mehr automatisch

HTTPX 0.20.0 bringt einen integrierten Kommandozeilen-Client, folgt Redirects nur noch auf ausdrücklichen Wunsch (z. B. follow_redirects=True) und vereinfacht die Transport-API.

0.20.0 (13th October, 2021)

The 0.20.0 release adds an integrated command-line client, and also includes some design changes. The most notable of these is that redirect responses are no longer automatically followed, unless specifically requested.

This design decision prioritises a more explicit approach to redirects, in order to avoid code that unintentionally issues multiple requests as a result of misconfigured URLs.

For example, previously a client configured to send requests to http://api.github.com/ would end up sending every API request twice, as each request would be redirected to https://api.github.com/.

If you do want auto-redirect behaviour, you can enable this either by configuring the client instance with Client(follow_redirects=True), or on a per-request basis, with .get(..., follow_redirects=True).

This change is a classic trade-off between convenience and precision, with no "right" answer. See discussion #1785 for more context.

The other major design change is an update to the Transport API, which is the low-level interface against which requests are sent. Previously this interface used only primitive datastructures, like so...

(status_code, headers, stream, extensions) = transport.handle_request(method, url, headers, stream, extensions)
try
    ...
finally:
    stream.close()

Now the interface is much simpler...

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

HTTPX

HTTPX 1.0.0.beta0: CLI-Client, Redirects nur auf Anfrage

Die 1.0-Vorabversion bringt einen integrierten Kommandozeilen-Client, folgt Redirects nur noch bei ausdrücklicher Aktivierung (z. B. follow_redirects=True) und vereinfacht die Transport-API.

1.0.0.beta0 (14th September 2021)

The 1.0 pre-release adds an integrated command-line client, and also includes some design changes. The most notable of these is that redirect responses are no longer automatically followed, unless specifically requested.

This design decision prioritises a more explicit approach to redirects, in order to avoid code that unintentionally issues multiple requests as a result of misconfigured URLs.

For example, previously a client configured to send requests to http://api.github.com/ would end up sending every API request twice, as each request would be redirected to https://api.github.com/.

If you do want auto-redirect behaviour, you can enable this either by configuring the client instance with Client(follow_redirects=True), or on a per-request basis, with .get(..., follow_redirects=True).

This change is a classic trade-off between convenience and precision, with no "right" answer. See discussion #1785 for more context.

The other major design change is an update to the Transport API, which is the low-level interface against which requests are sent. Previously this interface used only primitive datastructures, like so...

(status_code, headers, stream, extensions) = transport.handle_request(method, url, headers, stream, extensions)
try
    ...
finally:
    stream.close()

Now the interface is much simpler...

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

HTTPX

HTTPX 0.19.0: Zeichensatzerkennung und strengere Regeln

HTTPX unterstützt Client(allow_redirects=<bool>) und erkennt den Zeichensatz automatisch, wenn kein charset angegeben ist, ruft Event Hooks auch bei Redirect- und Auth-Requests auf, erzwingt den Binärmodus für Upload-Dateien und einmaliges Öffnen und Schließen von Clients und entfernt das Argument mode aus httpx.Proxy.

0.19.0 (19th August, 2021)

Added

  • Add support for Client(allow_redirects=<bool>). (Pull #1790)
  • Add automatic character set detection, when no charset is included in the response Content-Type header. (Pull #1791)

Changed

  • Event hooks are now also called for any additional redirect or auth requests/responses. (Pull #1806)
  • Strictly enforce that upload files must be opened in binary mode. (Pull #1736)
  • Strictly enforce that client instances can only be opened and closed once, and cannot be re-opened. (Pull #1800)
  • Drop mode argument from httpx.Proxy(..., mode=...). (Pull #1795)

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

HTTPX

HTTPX 0.18.2: Python 3.10 und HTTP/2 Prior Knowledge

HTTPX unterstützt Python 3.10 und HTTP/2 "prior knowledge" über httpx.Client(http1=False, http2=True), stellt httpx.USE_CLIENT_DEFAULT bereit und behebt Warnungen sowie die Bevorzugung von Content-Length bei dateiähnlichem Inhalt.

0.18.2 (17th June, 2021)

Added

  • Support for Python 3.10. (Pull #1687)
  • Expose httpx.USE_CLIENT_DEFAULT, used as the default to auth and timeout parameters in request methods. (Pull #1634)
  • Support HTTP/2 "prior knowledge", using httpx.Client(http1=False, http2=True). (Pull #1624)

Fixed

  • Clean up some cases where warnings were being issued. (Pull #1687)
  • Prefer Content-Length over Transfer-Encoding: chunked for content=<file-like> cases. (Pull #1619)

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

HTTPX

HTTPX 0.18.1: brotlicffi und Korrekturen bei Timeout und Exceptions

Die Brotli-Unterstützung nutzt nun das Paket brotlicffi, Request(..., stream=...) erzeugt keine automatischen Header mehr, timeout=... wird in httpx.stream() durchgereicht und Transport-Close-Exceptions werden auf HTTPX-Exceptions abgebildet.

0.18.1 (29th April, 2021)

Changed

  • Update brotli support to use the brotlicffi package (Pull #1605)
  • Ensure that Request(..., stream=...) does not auto-generate any headers on the request instance. (Pull #1607)

Fixed

  • Pass through timeout=... in top-level httpx.stream() function. (Pull #1613)
  • Map httpcore transport close exceptions to httpx exceptions. (Pull #1606)

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

HTTPX

HTTPX 0.18.0 formalisiert die Transport-API

Version 0.18.0 führt die Basisklassen httpx.BaseTransport und httpx.AsyncBaseTransport ein, benennt response.ext in extensions um und entfernt veraltete APIs wie httpx.StatusCodes, pool_limits und proxies={"http": ...}.

0.18.0 (27th April, 2021)

The 0.18.x release series formalises our low-level Transport API, introducing the base classes httpx.BaseTransport and httpx.AsyncBaseTransport.

See the "Writing custom transports" documentation and the httpx.BaseTransport.handle_request() docstring for more complete details on implementing custom transports.

Pull request #1522 includes a checklist of differences from the previous httpcore transport API, for developers implementing custom transports.

The following API changes have been issuing deprecation warnings since 0.17.0 onwards, and are now fully deprecated...

  • You should now use httpx.codes consistently instead of httpx.StatusCodes.
  • Use limits=... instead of pool_limits=....
  • Use proxies={"http://": ...} instead of proxies={"http": ...} for scheme-specific mounting.

Changed

  • Transport instances now inherit from httpx.BaseTransport or httpx.AsyncBaseTransport, and should implement either the handle_request method or handle_async_request method. (Pull #1522, #1550)
  • The response.ext property and Response(ext=...) argument are now named extensions. (Pull #1522) …

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

HTTPX

HTTPX 0.17.1

Version 0.17.1 behebt die Typannotation von CertTypes, sodass keyfile und password optional sein können, und korrigiert die festgelegte httpcore-Version.

0.17.1

Fixed

  • Type annotation on CertTypes allows keyfile and password to be optional. (Pull #1503)
  • Fix httpcore pinned version. (Pull #1495)

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

HTTPX

HTTPX 0.17.0

Version 0.17.0 ergänzt unter anderem httpx.MockTransport(), die Standard-Transports httpx.HTTPTransport() und httpx.AsyncHTTPTransport(), die Mount-API sowie chunk_size und keepalive_expiry, und behebt mehrere Fehler in ASGI, WSGI und base_url.

0.17.0

Added

  • Add httpx.MockTransport(), allowing to mock out a transport using pre-determined responses. (Pull #1401, Pull #1449)
  • Add httpx.HTTPTransport() and httpx.AsyncHTTPTransport() default transports. (Pull #1399)
  • Add mount API support, using httpx.Client(mounts=...). (Pull #1362)
  • Add chunk_size parameter to iter_raw(), iter_bytes(), iter_text(). (Pull #1277)
  • Add keepalive_expiry parameter to httpx.Limits() configuration. (Pull #1398)
  • Add repr to httpx.Cookies to display available cookies. (Pull #1411)
  • Add support for params=<tuple> (previously only params=<list> was supported). (Pull #1426)

Fixed

  • Add missing raw_path to ASGI scope. (Pull #1357)
  • Tweak create_ssl_context defaults to use trust_env=True. (Pull #1447)
  • Properly URL-escape WSGI PATH_INFO. (Pull #1391)
  • Properly set default ports in WSGI transport. (Pull #1469)
  • Properly encode slashes when using base_url. (Pull #1407)
  • Properly map exceptions in request.aclose(). (Pull #1465)

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

HTTPX

HTTPX 0.16.1

Version 0.16.1 unterstützt literale IPv6-Adressen in URLs und erzwingt kleingeschriebene Header in ASGI-Scope-Dictionaries.

0.16.1 (October 8th, 2020)

Fixed

  • Support literal IPv6 addresses in URLs. (Pull #1349)
  • Force lowercase headers in ASGI scope dictionaries. (Pull #1351)

Originalquelle(öffnet in neuem Tab)Problem melden

Angaben zum Datum

Datum aus der Quelle.

Erstmals gesehen am .

HTTPX

HTTPX 0.16.0

Version 0.16.0 erhält die Groß-/Kleinschreibung von HTTP-Headern, ersetzt response.next() und response.anext() durch das Attribut response.next_request, löst bei geschlossenen Clients einen Laufzeitfehler aus und unterstützt offiziell Python 3.9.

0.16.0 (October 6th, 2020)

Changed

  • Preserve HTTP header casing. (Pull #1338, encode/httpcore#216, python-hyper/h11#104)
  • Drop response.next() and response.anext() methods in favour of response.next_request attribute. (Pull #1339)
  • Closed clients now raise a runtime error if attempting to send a request. (Pull #1346)

Added

  • Add Python 3.9 to officially supported versions.
  • Type annotate __enter__/__exit__/__aenter__/__aexit__ in a way that supports subclasses of Client and AsyncClient. (Pull #1336)

Originalquelle(öffnet in neuem Tab)Problem melden