Documentation ¶
Index ¶
Constants ¶
View Source
const ( OK_REQUEST int = -1 UNKNOWN_TRANSPORT int = 0 UNKNOWN_SID int = 1 BAD_HANDSHAKE_METHOD int = 2 BAD_REQUEST int = 3 FORBIDDEN int = 4 UNSUPPORTED_PROTOCOL_VERSION int = 5 )
Protocol errors mappings.
View Source
const Protocol = 4
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type BaseServer ¶
type BaseServer interface { events.EventEmitter Prototype(BaseServer) Proto() BaseServer Opts() config.ServerOptionsInterface // @protected Clients() *types.Map[string, Socket] ClientsCount() uint64 // @protected Middlewares() []Middleware // Construct() should be called after calling Prototype() Construct(any) // @protected // @abstract Init() // @protected // Compute the pathname of the requests that are handled by the server ComputePath(config.AttachOptionsInterface) string // Returns a list of available transports for upgrade given a certain transport. Upgrades(string) *types.Set[string] // @protected // Verifies a request. Verify(*types.HttpContext, bool) (int, map[string]any) // Adds a new middleware. Use(Middleware) // @protected // Apply the middlewares to the request. ApplyMiddlewares(*types.HttpContext, func(error)) // Closes all clients. Close() BaseServer // @protected // @abstract Cleanup() // generate a socket id. // Overwrite this method to generate your custom socket id GenerateId(*types.HttpContext) (string, error) // @protected // Handshakes a new client. Handshake(string, *types.HttpContext) (int, transports.Transport) // @protected // @abstract CreateTransport(string, *types.HttpContext) (transports.Transport, error) }
func MakeBaseServer ¶
func MakeBaseServer() BaseServer
type Middleware ¶
type Middleware func(*types.HttpContext, func(error))
Middleware functions are functions that have access to the *types.HttpContext and the next middleware function in the application's context cycle.
type Server ¶
type Server interface { BaseServer // Captures upgrade requests for a http.Handler, Need to handle server shutdown disconnecting client connections. http.Handler SetHttpServer(*types.HttpServer) HttpServer() *types.HttpServer CreateTransport(string, *types.HttpContext) (transports.Transport, error) // Handles an Engine.IO HTTP request. HandleRequest(*types.HttpContext) // Handles an Engine.IO HTTP Upgrade. HandleUpgrade(*types.HttpContext) OnWebTransportSession(*types.HttpContext, *webtransport.Server) // Captures upgrade requests for a *types.HttpServer. Attach(*types.HttpServer, any) }
func Attach ¶
func Attach(server *types.HttpServer, options any) Server
Captures upgrade requests for a types.HttpServer.
type Socket ¶
type Socket interface { events.EventEmitter SetReadyState(string) Protocol() int Request() *types.HttpContext RemoteAddress() string Transport() transports.Transport Id() string ReadyState() string // @private Upgraded() bool // @private Upgrading() bool Construct(string, BaseServer, transports.Transport, *types.HttpContext, int) // @private // Upgrades socket to the given transport MaybeUpgrade(transports.Transport) // Sends a message packet. Send(io.Reader, *packet.Options, func(transports.Transport)) Socket Write(io.Reader, *packet.Options, func(transports.Transport)) Socket // Closes the socket and underlying transport. Close(bool) }
func NewSocket ¶
func NewSocket(id string, server BaseServer, transport transports.Transport, ctx *types.HttpContext, protocol int) Socket
Client class.
Click to show internal directories.
Click to hide internal directories.