httpcore
httpcore copied to clipboard
A minimal HTTP client. ⚙️
Discussed in #703 We need an API to specify whether a tunnel proxy or a forward proxy connection should be established. We are currently using forward proxies for **http** destinations...
We expose the following through our public API... * `HTTPConnection` / `AsyncHTTPConnection` * `HTTP11Connection` / `AsyncHTTP11Connection` * `HTTP2Connection` / `AsyncHTTP2Connection` However we don't have them publicly documented. Users wouldn't typically...
### Escalated from discussion https://github.com/encode/httpcore/discussions/505 Originally posted by **inikolaev** February 7, 2022 Hello! Can you advise some way to monitor connection pool, specifically for the `AsyncClient`? What I would like...
Prompted by @agronholm on [our chat channel](https://gitter.im/encode/community?at=6380e60825ca105c88d16bec). We should add a `README` to our `scripts` directory, explaining that we're using the GitHub "[scripts to pull them all](https://github.blog/2015-06-30-scripts-to-rule-them-all/)" pattern, and show...
This PR adds context to the traces, giving us more control over them and providing context for particular events. It allows us to store variables specifically for that event and...
For handling async-cancellations we're currently shielding `close` operations, in order to ensure we don't end up with a connection in an inconsistent state when cancellations are used. A better approach...
# Summary Adds back native `asyncio` backend based on commit where it was removed [here](https://github.com/encode/httpcore/blob/85a1f9ecab09e65d4299b5e2676964c43ac2c02d/httpcore/_backends/asyncio.py). Adjusts it to work with the new interfaces. This also adds some additional integration testing....
# Summary In the current logic, the original exception is discarded, which makes it hard to determine the thrown exception more precisely. # Checklist - [x] I understand that this...
# Summary (Split from original PR here https://github.com/encode/httpcore/pull/924 but this is more refined) Connection pool implementation is heavily doing socket polling via `AsyncConnectionInterface.has_expired()`. This check in turn does `AsyncNetworkStream.get_extra_info("is_readable")` which...
# Summary This is a small low hanging fruit for optimizing and simplifying the connection maintenance loops in the connection pool. This work is based on suggestion by @T-256 [here](https://github.com/encode/httpcore/pull/924#discussion_r1636465142)...