Documentation
¶
Index ¶
Constants ¶
View Source
const ( POLLING string = "polling" WEBSOCKET string = "websocket" WEBTRANSPORT string = "webtransport" )
Variables ¶
This section is empty.
Functions ¶
func Transports ¶
func Transports() map[string]TransportCtor
Types ¶
type Jsonp ¶
type Jsonp interface {
Polling
}
func NewJSONP ¶
func NewJSONP(ctx *types.HttpContext) Jsonp
type Polling ¶
type Polling interface {
Transport
DoWrite(*types.HttpContext, types.BufferInterface, *packet.Options, func(error))
}
func NewPolling ¶
func NewPolling(ctx *types.HttpContext) Polling
type PollingBuilder ¶ added in v2.4.7
type PollingBuilder struct{}
func (*PollingBuilder) HandlesUpgrades ¶ added in v2.4.7
func (*PollingBuilder) HandlesUpgrades() bool
func (*PollingBuilder) Name ¶ added in v2.4.7
func (*PollingBuilder) Name() string
func (*PollingBuilder) New ¶ added in v2.4.7
func (*PollingBuilder) New(ctx *types.HttpContext) Transport
func (*PollingBuilder) UpgradesTo ¶ added in v2.4.7
func (*PollingBuilder) UpgradesTo() *types.Set[string]
Todo: Return []string
type Transport ¶
type Transport interface {
events.EventEmitter
Prototype(Transport)
Proto() Transport
SetSid(string)
SetWritable(bool)
SetSupportsBinary(bool)
SetReadyState(string)
SetHttpCompression(*types.HttpCompression)
SetPerMessageDeflate(*types.PerMessageDeflate)
SetMaxHttpBufferSize(int64)
// The session ID.
Sid() string
// Whether the transport is currently ready to send packets.
Writable() bool
// The revision of the protocol:
//
// - 3 is used in Engine.IO v3 / Socket.IO v2
// - 4 is used in Engine.IO v4 and above / Socket.IO v3 and above
//
// It is found in the `EIO` query parameters of the HTTP requests.
//
// See https://github.com/socketio/engine.io-protocol
Protocol() int
// Whether the transport is discarded and can be safely closed (used during upgrade).
//
// Protected
Discarded() bool
// The parser to use (depends on the revision of the {@link Transport#protocol}.
//
// Protected
Parser() parser.Parser
// Whether the transport supports binary payloads (else it will be base64-encoded)
//
// Protected
SupportsBinary() bool
// The current state of the transport.
//
// Protected
ReadyState() string
HttpCompression() *types.HttpCompression
PerMessageDeflate() *types.PerMessageDeflate
MaxHttpBufferSize() int64
// Abstract
HandlesUpgrades() bool
// Abstract
Name() string
// [Transport.Construct] should be called after calling [Transport.Prototype]
Construct(*types.HttpContext)
// Private
//
// Flags the transport as discarded.
Discard()
// Protected
//
// Called with an incoming HTTP request.
OnRequest(*types.HttpContext)
// Private
//
// Closes the transport.
Close(...types.Callable)
// Protected
//
// Called with a transport error.
OnError(string, error)
// Protected
//
// Called with parsed out a packets from the data stream.
OnPacket(*packet.Packet)
// Protected
//
// Called with the encoded packet data.
OnData(types.BufferInterface)
// Protected
//
// Called upon transport close.
OnClose()
// Protected
//
// Writes a packet payload.
Send([]*packet.Packet)
// Protected
//
// Closes the transport.
DoClose(types.Callable)
}
func MakeTransport ¶
func MakeTransport() Transport
func NewTransport ¶
func NewTransport(ctx *types.HttpContext) Transport
type TransportCtor ¶ added in v2.4.7
type WebSocketBuilder ¶ added in v2.4.7
type WebSocketBuilder struct{}
func (*WebSocketBuilder) HandlesUpgrades ¶ added in v2.4.7
func (*WebSocketBuilder) HandlesUpgrades() bool
func (*WebSocketBuilder) Name ¶ added in v2.4.7
func (*WebSocketBuilder) Name() string
func (*WebSocketBuilder) New ¶ added in v2.4.7
func (*WebSocketBuilder) New(ctx *types.HttpContext) Transport
func (*WebSocketBuilder) UpgradesTo ¶ added in v2.4.7
func (*WebSocketBuilder) UpgradesTo() *types.Set[string]
Todo: Return []string
type WebTransport ¶
type WebTransport interface {
Transport
}
func NewWebTransport ¶
func NewWebTransport(ctx *types.HttpContext) WebTransport
type WebTransportBuilder ¶ added in v2.4.7
type WebTransportBuilder struct{}
func (*WebTransportBuilder) HandlesUpgrades ¶ added in v2.4.7
func (*WebTransportBuilder) HandlesUpgrades() bool
func (*WebTransportBuilder) Name ¶ added in v2.4.7
func (*WebTransportBuilder) Name() string
func (*WebTransportBuilder) New ¶ added in v2.4.7
func (*WebTransportBuilder) New(ctx *types.HttpContext) Transport
func (*WebTransportBuilder) UpgradesTo ¶ added in v2.4.7
func (*WebTransportBuilder) UpgradesTo() *types.Set[string]
Todo: Return []string
type Websocket ¶
type Websocket interface {
Transport
}
func NewWebSocket ¶
func NewWebSocket(ctx *types.HttpContext) Websocket
Click to show internal directories.
Click to hide internal directories.