Documentation ¶
Index ¶
Constants ¶
View Source
const ( WsServerHandshakeAuthHeaderName string = "Authorization" WsServerHandshakeChallengeHeaderName string = "Challenge" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ConnectionAcceptor ¶
type ConnectionInitiator ¶
type ConnectionInitiator interface { NewAuthHeader(url *url.URL) []byte ChallengeResponse(challenge []byte) ([]byte, error) }
The handshake works as follows:
Client (Initiator) Server (Acceptor) NewAuthHeader() -------auth header--------> StartHandshake() <-------challenge---------- ChallengeResponse() ---------response---------> FinalizeHandshake()
type HTTPRequestHandler ¶
type HTTPServerConfig ¶
type HttpServer ¶
type HttpServer interface { job.ServiceCtx // Not thread-safe. Should be done once before calling Start(). SetHTTPRequestHandler(handler HTTPRequestHandler) }
func NewHttpServer ¶
func NewHttpServer(config *HTTPServerConfig, lggr logger.Logger) HttpServer
type WebSocketClient ¶
type WebSocketClient interface {
Connect(ctx context.Context, url *url.URL) (*websocket.Conn, error)
}
func NewWebSocketClient ¶
func NewWebSocketClient(config WebSocketClientConfig, initiator ConnectionInitiator, lggr logger.Logger) WebSocketClient
type WebSocketClientConfig ¶
type WebSocketClientConfig struct {
HandshakeTimeoutMillis uint32
}
type WebSocketServer ¶
type WebSocketServer interface { job.ServiceCtx }
func NewWebSocketServer ¶
func NewWebSocketServer(config *WebSocketServerConfig, acceptor ConnectionAcceptor, lggr logger.Logger) WebSocketServer
type WebSocketServerConfig ¶
type WebSocketServerConfig struct { HTTPServerConfig HandshakeTimeoutMillis uint32 }
Source Files ¶
Click to show internal directories.
Click to hide internal directories.