-
Notifications
You must be signed in to change notification settings - Fork 1.1k
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
libp2phttp: Integrate with the connection gater and resource manager #2511
Labels
effort/days
Estimated to take multiple days, but less than a week
exp/intermediate
Prior experience is likely helpful
kind/maintenance
Work required to avoid breaking changes or harm to project's status quo
libp2phttp
Comments
MarcoPolo
added a commit
that referenced
this issue
Aug 29, 2023
* Add SNI and HTTP_libp2p_token to Noise extensions * Initial libp2phttp work * Remove custom response writer * Initial self review * Add client for PingHTTP * Support using a different sni from host * Add WIP auth support * Revert "Add WIP auth support" This reverts commit 8a648d9. Since current spec doesn't use libp2p-noise-?X auth anymore. * Remove libp2p-noise auth (removed from spec) * wip notes * Fix ordering of header writes * Change api to have the host do more * Add options * Use stream host from option instead of parameter * Nits * Add AddPeerMetadata * Add CustomRootHandler option * Remove old todos * Undo Noise changes * Add comments * Implement CloseIdleConnections to protect from surprising behavior * Add todo * Add ServerMustAuthenticatePeerID option * WIP work on recent roundtripper logic * Remove recentHTTPAddrs. We don't need it * Move http ping to separate package * Hide internal constants * HTTPHost has a valid zero-value. Remove constructor and options * Add https test * Rename to following naming convention * Add flag for insecure http * Return after error * Rename Rm to Remove * Rename * Refactor to always call closeAllListeners * Rename * Rename * Automatically strip prefix when using SetHTTPHandler* * Hide streamHostListen * Cleanup public types and add docs * Fix interface rename * Remove debug * PR comments * Add examples * Fix example name * Cleanup unused example * Add more examples * Add well known handler example * Handle empty path * Fix typo * Make RoundTripperOption public so users can allocate a slice of options * Rename HTTPHost to Host * Make the host.WellKnownHandler public * Make Add merge PeerMetadata. Introduce SetPeerMetadata * Rename AddProtocolMapping to AddProtocolMeta. Expand comment * Expand comment on DefaultClientRoundTripper And don't use the http.DefaultRoundTripper and cast * Remove todo Covered by #2511 * Fix comment typo * Fix comment typo * Create helper init fn * Rename NewRoundTripper to NewConstrainedRoundTripper * Use pointer for Host.ServeMux * Don't ignore err * json decode from reader * Nits * Move setupListeners to method * Add comment for streamReadCloser * Add more comments * Add todo * Defer connect until the round trip * Rebase gostream * Update p2p/http/libp2phttp.go Co-authored-by: Andrew Gillis <[email protected]> --------- Co-authored-by: Andrew Gillis <[email protected]>
marten-seemann
added
kind/maintenance
Work required to avoid breaking changes or harm to project's status quo
exp/intermediate
Prior experience is likely helpful
effort/days
Estimated to take multiple days, but less than a week
labels
Dec 7, 2023
gts2030
pushed a commit
to superblock-dev/go-libp2p
that referenced
this issue
May 23, 2024
* Add SNI and HTTP_libp2p_token to Noise extensions * Initial libp2phttp work * Remove custom response writer * Initial self review * Add client for PingHTTP * Support using a different sni from host * Add WIP auth support * Revert "Add WIP auth support" This reverts commit 8a648d94f7cd8707e10626a3333e99d6dad99c21. Since current spec doesn't use libp2p-noise-?X auth anymore. * Remove libp2p-noise auth (removed from spec) * wip notes * Fix ordering of header writes * Change api to have the host do more * Add options * Use stream host from option instead of parameter * Nits * Add AddPeerMetadata * Add CustomRootHandler option * Remove old todos * Undo Noise changes * Add comments * Implement CloseIdleConnections to protect from surprising behavior * Add todo * Add ServerMustAuthenticatePeerID option * WIP work on recent roundtripper logic * Remove recentHTTPAddrs. We don't need it * Move http ping to separate package * Hide internal constants * HTTPHost has a valid zero-value. Remove constructor and options * Add https test * Rename to following naming convention * Add flag for insecure http * Return after error * Rename Rm to Remove * Rename * Refactor to always call closeAllListeners * Rename * Rename * Automatically strip prefix when using SetHTTPHandler* * Hide streamHostListen * Cleanup public types and add docs * Fix interface rename * Remove debug * PR comments * Add examples * Fix example name * Cleanup unused example * Add more examples * Add well known handler example * Handle empty path * Fix typo * Make RoundTripperOption public so users can allocate a slice of options * Rename HTTPHost to Host * Make the host.WellKnownHandler public * Make Add merge PeerMetadata. Introduce SetPeerMetadata * Rename AddProtocolMapping to AddProtocolMeta. Expand comment * Expand comment on DefaultClientRoundTripper And don't use the http.DefaultRoundTripper and cast * Remove todo Covered by libp2p/go-libp2p#2511 * Fix comment typo * Fix comment typo * Create helper init fn * Rename NewRoundTripper to NewConstrainedRoundTripper * Use pointer for Host.ServeMux * Don't ignore err * json decode from reader * Nits * Move setupListeners to method * Add comment for streamReadCloser * Add more comments * Add todo * Defer connect until the round trip * Rebase gostream * Update p2p/http/libp2phttp.go Co-authored-by: Andrew Gillis <[email protected]> --------- Co-authored-by: Andrew Gillis <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
effort/days
Estimated to take multiple days, but less than a week
exp/intermediate
Prior experience is likely helpful
kind/maintenance
Work required to avoid breaking changes or harm to project's status quo
libp2phttp
The experimental libp2phttp api does not yet integrate with the connection gater and the resource manager. It should to allow users to leverage their existing logic here with this new transport.
Originally posted by @marten-seemann in #2438 (comment)
The text was updated successfully, but these errors were encountered: