You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
29 lines
773 B
29 lines
773 B
import type { Stats } from "node:fs"; |
|
import type { IncomingMessage, ServerResponse } from "node:http"; |
|
|
|
type Arrayable<T> = T | T[]; |
|
|
|
export type NextHandler = () => void | Promise<void>; |
|
|
|
export type RequestHandler = ( |
|
req: IncomingMessage, |
|
res: ServerResponse, |
|
next?: NextHandler, |
|
) => void; |
|
|
|
export interface Options { |
|
dev?: boolean; |
|
etag?: boolean; |
|
maxAge?: number; |
|
immutable?: boolean; |
|
single?: string | boolean; |
|
ignores?: false | Arrayable<string | RegExp>; |
|
extensions?: string[]; |
|
dotfiles?: boolean; |
|
brotli?: boolean; |
|
gzip?: boolean; |
|
onNoMatch?: (req: IncomingMessage, res: ServerResponse) => void; |
|
setHeaders?: (res: ServerResponse, pathname: string, stats: Stats) => void; |
|
} |
|
|
|
export default function (dir?: string, opts?: Options): RequestHandler;
|
|
|