ufiber
Version:
Next-gen webserver for node-js developer
57 lines (56 loc) • 1.76 kB
TypeScript
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 };