UNPKG

3h-router

Version:
64 lines 2.27 kB
/// <reference types="node" /> import { Server, IncomingMessage, ServerResponse } from "http"; import { ZlibOptions } from "zlib"; import EventEmitter = require('events'); import Result = require("./result"); interface RouterOptions { basePath?: string; gzipEnabled?: boolean; deflateEnabled?: boolean; zlibOptions?: ZlibOptions; defaultPages?: string[]; privateFiles?: RegExp[]; privateDirectories?: RegExp[]; contentTypes?: Map<string, string>; subRouters?: string[]; separator?: string | RegExp; } interface Router { on(event: 'before', listener: (url?: string) => void): this; emit(event: 'before', url?: string): boolean; on(event: 'error', listener: (err: Error) => void): this; emit(event: 'error', err: Error): boolean; on(event: 'result', listener: (result: Result) => void): this; emit(event: 'result', result: Result): boolean; } declare class Router extends EventEmitter implements RouterOptions { constructor(options?: RouterOptions); static readonly defaultOptions: { privateFiles: RegExp[]; privateDirectories: RegExp[]; defaultPages: string[]; contentTypes: Map<string, string>; subRouters: string[]; }; static readonly SUB_ROUTER_CODE: number; static readonly REDIRECT_DIR_CODE: number; basePath: string; gzipEnabled: boolean; deflateEnabled: boolean; zlibOptions: ZlibOptions; defaultPages: string[]; privateFiles: RegExp[]; privateDirectories: RegExp[]; contentTypes: Map<string, string>; subRouters: string[]; separator: RegExp; private _server?; readonly server: Server | undefined; private _request?; readonly request: IncomingMessage | undefined; private _response?; readonly response: ServerResponse | undefined; isPrivateDirectory(dir: string): boolean; isPrivateFile(file: string): boolean; resolveDefaultPage(dir: string): Result; resolveStatic(url: string): Result; resolveSubRouter(dir: string): Result; resolve(url: string): Result; route(url: string): void; start(port?: number): this; stop(): this; } export = Router; //# sourceMappingURL=index.d.ts.map