websocket

package
v0.7.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 31, 2025 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TextMessage = iota + 1
	BinaryMessage
)

Variables

This section is empty.

Functions

This section is empty.

Types

type CoderProvider

type CoderProvider struct {
	HandshakeTimeout  time.Duration
	EnableCompression bool
	SkipTLSVerify     bool
	BearerToken       string
}

CoderProvider implements Provider for coder/websocket

func NewCoderProvider

func NewCoderProvider(timeout time.Duration, skipTLSVerify bool, bearerToken string) *CoderProvider

NewCoderProvider creates a new Provider using coder/websocket

func (*CoderProvider) CompressionEnabled

func (p *CoderProvider) CompressionEnabled() bool

func (*CoderProvider) Dial

func (p *CoderProvider) Dial(url string) (WebSocket, error)

Dial implements Provider.Dial

func (*CoderProvider) ToNetConn

func (p *CoderProvider) ToNetConn(ws WebSocket) net.Conn

ToNetConn implements Provider.ToNetConn

func (*CoderProvider) Upgrade

Upgrade implements Provider.Upgrade

type CoderWebSocket

type CoderWebSocket struct {
	// contains filtered or unexported fields
}

CoderWebSocket implements the WebSocket interface for coder/websocket

func (*CoderWebSocket) Close

func (c *CoderWebSocket) Close() error

Close implements WebSocket.Close

func (*CoderWebSocket) NextReader

func (c *CoderWebSocket) NextReader() (messageType int, reader io.Reader, err error)

NextReader implements WebSocket.NextReader

func (*CoderWebSocket) ReadMessage

func (c *CoderWebSocket) ReadMessage() (messageType int, p []byte, err error)

ReadMessage implements WebSocket.ReadMessage

func (*CoderWebSocket) WriteMessage

func (c *CoderWebSocket) WriteMessage(messageType int, data []byte) error

WriteMessage implements WebSocket.WriteMessage

type Conn

type Conn interface {
	net.Conn
	IsSecure() bool
}

Conn extends net.Conn with WebSocket-specific information

type GorillaWebSocket

type GorillaWebSocket struct {
	// contains filtered or unexported fields
}

GorillaWebSocket implements the WebSocket interface for gorilla/websocket

func (*GorillaWebSocket) Close

func (g *GorillaWebSocket) Close() error

Close implements WebSocket.Close

func (*GorillaWebSocket) NextReader

func (g *GorillaWebSocket) NextReader() (messageType int, reader io.Reader, err error)

NextReader implements WebSocket.NextReader

func (*GorillaWebSocket) ReadMessage

func (g *GorillaWebSocket) ReadMessage() (messageType int, p []byte, err error)

ReadMessage implements WebSocket.ReadMessage

func (*GorillaWebSocket) WriteMessage

func (g *GorillaWebSocket) WriteMessage(messageType int, data []byte) error

WriteMessage implements WebSocket.WriteMessage

type GorillaWebSocketProvider

type GorillaWebSocketProvider struct {
	// Configuration options
	ReadBufferSize    int
	WriteBufferSize   int
	HandshakeTimeout  time.Duration
	EnableCompression bool
	SkipTLSVerify     bool
	BearerToken       string
}

GorillaWebSocketProvider implements WebsocketProvider using gorilla/websocket

func NewGorillaProvider

func NewGorillaProvider(timeout time.Duration, skipTLSVerify bool, bearerToken string) *GorillaWebSocketProvider

NewGorillaProvider creates a new WebSocket provider using gorilla/websocket

func (*GorillaWebSocketProvider) CompressionEnabled

func (p *GorillaWebSocketProvider) CompressionEnabled() bool

func (*GorillaWebSocketProvider) Dial

func (*GorillaWebSocketProvider) ToNetConn

func (p *GorillaWebSocketProvider) ToNetConn(ws WebSocket) net.Conn

func (*GorillaWebSocketProvider) Upgrade

type Provider

type Provider interface {
	// Dial connects to a WebSocket server
	Dial(url string) (WebSocket, error)

	// Upgrade upgrades an HTTP connection to WebSocket
	Upgrade(w http.ResponseWriter, r *http.Request) (WebSocket, error)

	// ToNetConn wraps a WebSocket as a net.Conn
	ToNetConn(ws WebSocket) net.Conn

	// CompressionEnabled returns true if the provider is configured to use compression; else false
	CompressionEnabled() bool
}

Provider defines methods for creating WebSocket connections

type WebSocket

type WebSocket interface {
	// Core WebSocket operations
	WriteMessage(messageType int, data []byte) error
	ReadMessage() (messageType int, p []byte, err error)
	NextReader() (messageType int, reader io.Reader, err error)
	Close() error
}

WebSocket defines the common interface for WebSocket connections

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL