You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The standard library should provide an HTTP client that supports HTTP 1.1, 2.0, and 3/QUIC. The client would be provided by the module std.net.http and should transparently support the correct HTTP version. For HTTP 1.1, chunked transfers must be supported.
To make testing easier, it might be worth considering implementing the library such that the code performing the actual requests can be swapped out. This is something I did for Openflow, though I'm not super happy with the exact setup it uses.
In terms of the design of the client/API interface, I'm not sure just yet so we'll need to do some experimenting.
Priorities
HTTP 1.1 and 2.0 have a higher priority compared to HTTP 3, as adoption of HTTP 3 is still pretty limited. The HTTP 3 protocol is also significantly different, and likely requires changes to the runtime library to support QUIC sockets (I think?).
The text was updated successfully, but these errors were encountered:
yorickpeterse
added
feature
New things to add to Inko, such as a new standard library module
std
Changes related to the standard library
labels
Jul 29, 2024
It's worth thinking about whether HTTP 2 support is actually beneficial. Much of the web still uses or at least supports HTTP 1.1, and HTTP 3 fixes issues present in both 1.1 and 2.0 (e.g. head of line blocking). We could decide to just skip HTTP 2 in favour of only supporting 1.1 and 3.0.
Description
The standard library should provide an HTTP client that supports HTTP 1.1, 2.0, and 3/QUIC. The client would be provided by the module
std.net.http
and should transparently support the correct HTTP version. For HTTP 1.1, chunked transfers must be supported.To make testing easier, it might be worth considering implementing the library such that the code performing the actual requests can be swapped out. This is something I did for Openflow, though I'm not super happy with the exact setup it uses.
In terms of the design of the client/API interface, I'm not sure just yet so we'll need to do some experimenting.
Priorities
HTTP 1.1 and 2.0 have a higher priority compared to HTTP 3, as adoption of HTTP 3 is still pretty limited. The HTTP 3 protocol is also significantly different, and likely requires changes to the runtime library to support QUIC sockets (I think?).
Resources
Related work
No response
The text was updated successfully, but these errors were encountered: