UNPKG

ufiber

Version:

Next-gen webserver for node-js developer

57 lines (56 loc) 1.76 kB
import { Router } from "./router/index.js"; import { ByteString } from "./utils/tools.js"; import { AppOptions, TemplatedApp, WebSocketBehavior } from "../uws"; //#region src/ufiber.d.ts type FiberOptions = { /** App name (optional). */ name?: string; /** Allowed HTTP methods. */ methods?: string[]; /** Max request body size in bytes-string., (Default: 16MB) */ bodyLimit?: ByteString; /** uWebSockets.js App options. */ uwsOptions?: AppOptions; }; /** * The Fiber class extends the functionality of the Router class. * It sets up routing and allows for custom options to be passed. */ declare class Fiber extends Router { #private; readonly uws: TemplatedApp; readonly isSSL: boolean; readonly bodyLimit?: number; /** * Creates an instance of the Fiber class. * * @param options - Optional configuration options for the Fiber instance. */ constructor(options?: FiberOptions); /** * Add WebSocket support * * @param pattern - URL pattern for WebSocket endpoint * @param behavior - WebSocket behavior configuration * @returns this for chaining * * @example * ```ts * app.ws('/chat', { * message: (ws, message, opCode) => { * ws.send(message); * }, * open: (ws) => { * console.log('WebSocket connected'); * } * }); * ``` */ ws(pattern: string, behavior: WebSocketBehavior<any>): this; listen(port: number, hostname: string, callback?: (url: string) => void | Promise<void>): void; listen(port: number, callback?: (url: string) => void | Promise<void>): void; listen(path: string, callback?: (url: string) => void | Promise<void>): void; listen(callback?: (url: string) => void): void; } //#endregion export { Fiber, FiberOptions };