3
0
corteza/sam/websocket.interfaces.go

31 lines
604 B
Go

package sam
import (
"net/http"
)
// HTTP handlers are a superset of internal APIs
type WebsocketHandlers struct {
*Websocket
}
func (WebsocketHandlers) new() *WebsocketHandlers {
return &WebsocketHandlers{
Websocket{}.new(),
}
}
// Internal API interface
type WebsocketAPI interface {
Client(*websocketClientRequest) (interface{}, error)
}
// HTTP API interface
type WebsocketHandlersAPI interface {
Client(http.ResponseWriter, *http.Request)
}
// Compile time check to see if we implement the interfaces
var _ WebsocketHandlersAPI = &WebsocketHandlers{}
var _ WebsocketAPI = &Websocket{}