Documentation ¶
Index ¶
- Constants
- Variables
- func ClientConnect(ctx context.Context, wsURL string, headers http.Header, ...)
- func DefaultErrorWriter(rw http.ResponseWriter, req *http.Request, code int, err error)
- func RegisterTokenGetter(tokenGet, cacertGet clientTokenGetter)
- type Authorizer
- type ConnectAuthorizer
- type Dialer
- type ErrorWriter
- type Server
- func (s *Server) AddPeer(url, id, token string)
- func (s *Server) CloseSession(clientKey string)
- func (s *Server) Dial(clientKey string, deadline time.Duration, proto, address string) (net.Conn, error)
- func (s *Server) DialWithClientToken(clientKey string, deadline time.Duration, proto, address string) (net.Conn, error)
- func (s *Server) Dialer(clientKey string, deadline time.Duration) Dialer
- func (s *Server) GetClusterToken(clientKey string, deadline time.Duration) (*clientToken, error)
- func (s *Server) HasSession(clientKey string) bool
- func (s *Server) RemovePeer(id string)
- func (s *Server) ServeHTTP(rw http.ResponseWriter, req *http.Request)
- type Session
Constants ¶
View Source
const ( Data messageType = iota + 1 Connect Error AddClient RemoveClient TokenConnect )
Variables ¶
View Source
var ( ClientTokenProto = "TokenRegister" ClientTokenAddress = "ClientTokenAddress" )
View Source
var ( Token = "X-API-Tunnel-Token" ID = "X-API-Tunnel-ID" TunnelType = "X-API-Tunnel-Type" TunnelTypePeer = "peer" )
View Source
var PrintTunnelData bool
PrintTunnelData No tunnel logging by default
Functions ¶
func ClientConnect ¶
func DefaultErrorWriter ¶
func RegisterTokenGetter ¶
func RegisterTokenGetter(tokenGet, cacertGet clientTokenGetter)
Types ¶
type Authorizer ¶
type ConnectAuthorizer ¶
type ErrorWriter ¶
type Server ¶
func New ¶
func New(tokenCacheLen int, auth Authorizer, errorWriter ErrorWriter) *Server
func (*Server) CloseSession ¶ added in v0.1.5
func (*Server) DialWithClientToken ¶
func (*Server) GetClusterToken ¶
func (*Server) HasSession ¶
func (*Server) RemovePeer ¶
type Session ¶
func NewClientSession ¶
func NewClientSession(auth ConnectAuthorizer, conn *websocket.Conn) *Session
Source Files ¶
Click to show internal directories.
Click to hide internal directories.