-
Notifications
You must be signed in to change notification settings - Fork 105
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Documenting the network backend API #699
Conversation
This is ready for review from a docs-first perspective. |
Co-authored-by: Florimond Manca <florimond.manca@protonmail.com>
…cumented top-level API now
I've now updated the API in this pull request, in line with the docs so it's possible to properly work through the examples... Documentation: https://github.com/encode/httpcore/blob/network-backends-api/docs/network-backends.md Install from this branch in order to work through... $ python -m venv venv
$ venv/bin/pip install git+https://github.com/encode/httpcore.git@network-backends-api
$ venv/bin/python |
I've bumped a bunch of items into possible follow-ons. |
I have bumped out the following conversations on the back of this... |
Okay, let's have it. Thanks all for the review time on this. 😊 |
This pull request adds the network backends as public API.
This will help our users understand the architecture of
httpcore
, allow for more in depth debugging, and allow for complex use cases such as network record/replay or custom DNS handling.The documentation I'm adding here doesn't follow the existing (internal) class names, but instead takes a docs-first approach to
TODO:
Ensure UDS case raises a descriptive warning if not implemented.- Already has aNotImplementedError
.httpcore.backends
can become private.httpcore.<...>
classes available, with conditionals forasync
cases if needed.Notes to self:
start_tls
to in-place? (Would also need a docs update in extensions.md)sleep
from the existing interface.AutoBackend
?SOCKET_OPTIONS
to the public API, because of the interface here.AsyncIOBackend
now.Closes #695