Uh oh!
There was an error while loading. Please reload this page.
Documenting the network backend API - #699
Conversation
lovelydinosaur
commented
May 25, 2023
This is ready for review from a docs-first perspective. |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Co-authored-by: Florimond Manca <florimond.manca@protonmail.com>
…cumented top-level API now
lovelydinosaur
commented
May 26, 2023
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-mvenvvenv
$ venv/bin/pipinstallgit+https://github.com/encode/httpcore.git@network-backends-api
$ venv/bin/python |
lovelydinosaur
commented
May 26, 2023
I've bumped a bunch of items into possible follow-ons. |
lovelydinosaur
commented
Jun 7, 2023
I have bumped out the following conversations on the back of this... |
lovelydinosaur
commented
Jun 7, 2023
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.backendscan become private.httpcore.<...>classes available, with conditionals forasynccases if needed.Notes to self:
start_tlsto in-place? (Would also need a docs update in extensions.md)sleepfrom the existing interface.AutoBackend?SOCKET_OPTIONSto the public API, because of the interface here.AsyncIOBackendnow.Closes#695