Path to this page:
Subject: CVS commit: pkgsrc/www/py-httpcore
From: Adam Ciarcinski
Date: 2020-10-01 08:48:37
Message id: 20201001064837.D0998FB28@cvs.NetBSD.org
Log Message:
py-httpcore: updated to 0.11.1
0.11.1
Fixed
- Add await to async semaphore release() coroutine
- Drop incorrect curio classifier
0.11.0
The Transport API with 0.11.0 has a couple of significant changes.
Firstly we've moved changed the request interface in order to allow extensions, \
which will later enable us to support features
such as trailing headers, HTTP/2 server push, and CONNECT/Upgrade connections.
The interface changes from:
```python
def request(method, url, headers, stream, timeout):
return (http_version, status_code, reason, headers, stream)
```
To instead including an optional dictionary of extensions on the request and \
response:
```python
def request(method, url, headers, stream, ext):
return (status_code, headers, stream, ext)
```
Having an open-ended extensions point will allow us to add later support for \
various optional features, that wouldn't otherwise be supported without these \
API changes.
In particular:
* Trailing headers support.
* HTTP/2 Server Push
* sendfile.
* Exposing raw connection on CONNECT, Upgrade, HTTP/2 bi-di streaming.
* Exposing debug information out of the API, including template name, template \
context.
Currently extensions are limited to:
* request: `timeout` - Optional. Timeout dictionary.
* response: `http_version` - Optional. Include the HTTP version used on the response.
* response: `reason` - Optional. Include the reason phrase used on the response. \
Only valid with HTTP/1.*.
See https://github.com/encode/httpx/issues/1274#issuecomment-694884553 for the \
history behind this.
Secondly, the async version of `request` is now namespaced as `arequest`.
This allows concrete transports to support both sync and async implementations \
on the same class.
Added
- Add curio support.
- Add anyio support, with `backend="anyio"`.
Changed
- Update the Transport API to use 'ext' for optional extensions.
- Update the Transport API to use `.request` and `.arequest` so implementations \
can support both sync and async.
0.10.2
Added
- Added Unix Domain Socket support.
Fixed
- Always include the port on proxy CONNECT requests.
- Fix `max_keepalive_connections` configuration.
- Fixes behaviour in HTTP/1.1 where server disconnects can be used to signal the \
end of the response body.
0.10.1
- Include `max_keepalive_connections` on `AsyncHTTPProxy`/`SyncHTTPProxy` classes.
0.10.0
The most notable change in the 0.10.0 release is that HTTP/2 support is now \
fully optional.
Use either `pip install httpcore` for HTTP/1.1 support only, or `pip install \
httpcore[http2]` for HTTP/1.1 and HTTP/2 support.
Added
- HTTP/2 support becomes optional.
- Add `local_address=...` support.
- Add `PlainByteStream`, `IteratorByteStream`, `AsyncIteratorByteStream`. The \
`AsyncByteSteam` and `SyncByteStream` classes are now pure interface classes.
- Add `LocalProtocolError`, `RemoteProtocolError` exceptions.
- Add `UnsupportedProtocol` exception.
- Add `.get_connection_info()` method.
- Add better TRACE logs.
Changed
- `max_keepalive` is deprecated in favour of `max_keepalive_connections`.
Fixed
- Improve handling of server disconnects.
Files: