Documentation ¶
Index ¶
- Variables
- type Engine
- type EngineBuilder
- func (p *EngineBuilder) Build() Engine
- func (p *EngineBuilder) ForceCheckProtocol() *EngineBuilder
- func (p *EngineBuilder) SetAllowRequest(validator func(*http.Request) error) *EngineBuilder
- func (p *EngineBuilder) SetAllowUpgrades(enable bool) *EngineBuilder
- func (p *EngineBuilder) SetCookie(enable bool) *EngineBuilder
- func (p *EngineBuilder) SetCookieHTTPOnly(httpOnly bool) *EngineBuilder
- func (p *EngineBuilder) SetCookiePath(path string) *EngineBuilder
- func (p *EngineBuilder) SetGenerateID(gen func(uint32) string) *EngineBuilder
- func (p *EngineBuilder) SetLoggerError(logger func(format string, v ...interface{})) *EngineBuilder
- func (p *EngineBuilder) SetLoggerInfo(logger func(format string, v ...interface{})) *EngineBuilder
- func (p *EngineBuilder) SetLoggerWarn(logger func(format string, v ...interface{})) *EngineBuilder
- func (p *EngineBuilder) SetPath(path string) *EngineBuilder
- func (p *EngineBuilder) SetPingInterval(interval time.Duration) *EngineBuilder
- func (p *EngineBuilder) SetPingTimeout(timeout time.Duration) *EngineBuilder
- func (p *EngineBuilder) SetTransports(transports ...TransportType) *EngineBuilder
- type Socket
- type Transport
- type TransportType
Constants ¶
This section is empty.
Variables ¶
var DefaultPath = "/engine.io/"
DefaultPath for engine.io http router.
Functions ¶
This section is empty.
Types ¶
type Engine ¶
type Engine interface { // Router returns a std golang http handler. Router() func(http.ResponseWriter, *http.Request) // Listen engine server. Listen(addr string) error // GetProtocol returns engine protocol version. GetProtocol() uint8 // GetClients returns current socket map. (SocketID -> Socket) GetClients() map[string]Socket // CountClients returns current socket count. CountClients() int // OnConnect bind handler when sockets created. OnConnect(func(socket Socket)) Engine // Close current engine server. Close() }
Engine is the main server/manager.
type EngineBuilder ¶
type EngineBuilder struct {
// contains filtered or unexported fields
}
EngineBuilder is a builder for Engine.
func NewEngineBuilder ¶
func NewEngineBuilder() *EngineBuilder
NewEngineBuilder create a builder for Engine.
func (*EngineBuilder) ForceCheckProtocol ¶ added in v0.7.0
func (p *EngineBuilder) ForceCheckProtocol() *EngineBuilder
ForceCheckProtocol force check eio protocol version in query EIO.
func (*EngineBuilder) SetAllowRequest ¶ added in v0.4.0
func (p *EngineBuilder) SetAllowRequest(validator func(*http.Request) error) *EngineBuilder
SetAllowRequest set a function that receives a given request, and can decide whether to continue or not.
func (*EngineBuilder) SetAllowUpgrades ¶
func (p *EngineBuilder) SetAllowUpgrades(enable bool) *EngineBuilder
SetAllowUpgrades define whether to allow transport upgrades. (default allow upgrades)
func (*EngineBuilder) SetCookie ¶
func (p *EngineBuilder) SetCookie(enable bool) *EngineBuilder
SetCookie can control enable/disable of cookie.
func (*EngineBuilder) SetCookieHTTPOnly ¶
func (p *EngineBuilder) SetCookieHTTPOnly(httpOnly bool) *EngineBuilder
SetCookieHTTPOnly if set true HttpOnly io cookie cannot be accessed by client-side APIs, such as JavaScript. (true) This option has no effect if cookie or cookiePath is set to false.
func (*EngineBuilder) SetCookiePath ¶
func (p *EngineBuilder) SetCookiePath(path string) *EngineBuilder
SetCookiePath define the path of cookie.
func (*EngineBuilder) SetGenerateID ¶
func (p *EngineBuilder) SetGenerateID(gen func(uint32) string) *EngineBuilder
SetGenerateID define the method of creating SocketID.
func (*EngineBuilder) SetLoggerError ¶ added in v0.5.0
func (p *EngineBuilder) SetLoggerError(logger func(format string, v ...interface{})) *EngineBuilder
SetLoggerError set logger for ERROR
func (*EngineBuilder) SetLoggerInfo ¶ added in v0.5.0
func (p *EngineBuilder) SetLoggerInfo(logger func(format string, v ...interface{})) *EngineBuilder
SetLoggerInfo set logger for INFO
func (*EngineBuilder) SetLoggerWarn ¶ added in v0.5.0
func (p *EngineBuilder) SetLoggerWarn(logger func(format string, v ...interface{})) *EngineBuilder
SetLoggerWarn set logger for WARN
func (*EngineBuilder) SetPath ¶
func (p *EngineBuilder) SetPath(path string) *EngineBuilder
SetPath define the http router path for Engine.
func (*EngineBuilder) SetPingInterval ¶
func (p *EngineBuilder) SetPingInterval(interval time.Duration) *EngineBuilder
SetPingInterval define ping time interval in milliseconds for client. (default is 60 seconds)
func (*EngineBuilder) SetPingTimeout ¶
func (p *EngineBuilder) SetPingTimeout(timeout time.Duration) *EngineBuilder
SetPingTimeout define ping timeout in milliseconds for client. (default is 25 seconds)
func (*EngineBuilder) SetTransports ¶
func (p *EngineBuilder) SetTransports(transports ...TransportType) *EngineBuilder
SetTransports define transport types allow.
type Socket ¶
type Socket interface { // ID returns SessionID of socket. ID() string // Server returns engine of current socket. Server() Engine // Transport returns the active transport of socket. Transport() Transport // OnClose bind handler when socket closed. OnClose(func(reason string)) Socket // OnMessage bind handler when message income. OnMessage(func(data []byte)) Socket // OnError bind handler when error appeared. OnError(func(err error)) Socket // OnUpgrade bind handler when socket upgraded. OnUpgrade(func()) Socket // Send a message. Send(message interface{}) error // Close current socket. Close() }
Socket is a representation of a client.
type Transport ¶
type Transport interface { // GetType returns transport type. GetType() TransportType // GetEngine returns engine of current transport. GetEngine() Engine // GetSocket returns current socket. GetSocket() Socket // GetRequest returns native http request. GetRequest() *http.Request // contains filtered or unexported methods }
Transport is used to control socket.
type TransportType ¶
type TransportType int8
TransportType define the type of transport.
const ( // POLLING use Polling-XHR as Transport. POLLING TransportType = iota // WEBSOCKET use Websocket as Transport. WEBSOCKET TransportType = iota )