Documentation
¶
Overview ¶
Package wsport implements a websocket based transport for go-libp2p.
Index ¶
- func ConvertWebsocketMultiaddrToNetAddr(maddr ma.Multiaddr) (net.Addr, error)
- func FromString(s string) (ma.Multiaddr, error)
- func FromURL(a *url.URL) (ma.Multiaddr, error)
- func ListenAddrStrings(s ...string) libp2p.Option
- func ParseWebsocketNetAddr(a net.Addr) (ma.Multiaddr, error)
- type Addr
- type ConnAddr
- type Mux
- type MyConn
- type Option
- type WebsocketTransport
- func (t *WebsocketTransport) CanDial(a ma.Multiaddr) bool
- func (t *WebsocketTransport) Dial(ctx context.Context, raddr ma.Multiaddr, p peer.ID) (transport.CapableConn, error)
- func (t *WebsocketTransport) Listen(a ma.Multiaddr) (transport.Listener, error)
- func (t *WebsocketTransport) Protocols() []int
- func (t *WebsocketTransport) Proxy() bool
- func (t *WebsocketTransport) Resolve(_ context.Context, maddr ma.Multiaddr) ([]ma.Multiaddr, error)
- func (t *WebsocketTransport) SkipResolve(_ context.Context, _ ma.Multiaddr) bool
- func (t *WebsocketTransport) WebSocketHandler() http.Handler
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ListenAddrStrings ¶ added in v0.0.1
ListenAddrStrings configures libp2p to listen on the given (unparsed) ws:// or wss:// addresses.
Types ¶
type Addr ¶
Addr is an implementation of net.Addr for WebSocket.
func NewAddr ¶
NewAddr creates an Addr with `ws` scheme (insecure).
Deprecated. Use NewAddrWithScheme.
func NewAddrWithScheme ¶
NewAddrWithScheme creates a new Addr using the given host string. isSecure should be true for WSS connections and false for WS.
type Mux ¶ added in v0.1.3
Mux is any type that accepts http.Handler registration by pattern. http.ServeMux implements this interface.
type MyConn ¶
func (*MyConn) LocalMultiaddr ¶
func (*MyConn) RemoteMultiaddr ¶
fix websocket/unknown-unknown
type Option ¶
type Option func(*WebsocketTransport) error
func WithMux ¶ added in v0.1.3
WithMux is a convenience option that calls WebSocketHandler and registers the returned handler on the given Mux at the given path.
func WithTLSClientConfig ¶
WithTLSClientConfig sets a TLS client configuration on the WebSocket Dialer. Only relevant for non-browser usages.
Some useful use cases include setting InsecureSkipVerify to `true`, or setting user-defined trusted CA certificates.
func WithTLSConfig ¶
WithTLSConfig sets a TLS configuration for the WebSocket listener.
type WebsocketTransport ¶
type WebsocketTransport struct {
// contains filtered or unexported fields
}
WebsocketTransport is the actual go-libp2p transport
func New ¶
func New(u transport.Upgrader, rcmgr network.ResourceManager, opts ...Option) (*WebsocketTransport, error)
func (*WebsocketTransport) Dial ¶
func (t *WebsocketTransport) Dial(ctx context.Context, raddr ma.Multiaddr, p peer.ID) (transport.CapableConn, error)
func (*WebsocketTransport) Protocols ¶
func (t *WebsocketTransport) Protocols() []int
func (*WebsocketTransport) Proxy ¶
func (t *WebsocketTransport) Proxy() bool
func (*WebsocketTransport) SkipResolve ¶ added in v0.1.1
func (*WebsocketTransport) WebSocketHandler ¶ added in v0.1.3
func (t *WebsocketTransport) WebSocketHandler() http.Handler
WebSocketHandler returns an http.Handler that upgrades HTTP connections to WebSocket for use with this transport. Use it to mount the WebSocket upgrade handler on your own HTTP server or mux:
mux.Handle("/p2p", tpt.WebSocketHandler())
http.Serve(ln, mux)
The upgrade pipeline starts immediately — connections work even without a subsequent Listen call. Listen is optional and only registers the listener address for libp2p peer discovery.