31 lines
604 B
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{}
|