///
export interface BunziiHeaders extends Map { }
export type BunziiPlugins = {
[key: string]: any
}
export interface BunziiFunction extends Function {
(req: BunziiRequest, res: BunziiResponse): void | Response | Promise;
}
export interface BunziiMiddleWare extends Function {
(req: BunziiRequest, res: BunziiResponse, next: Function): void | Response | Promise;
}
export type BunziiParams = {
[key: string]: {}
}
export type BunziiContent = {
[key: string]: {}
} | string | Blob | ArrayBuffer | FormData | ReadableStream | null | undefined
export interface BunziiRequest extends Request {
params: BunziiParams,
content: BunziiContent | any,
query: any;
parsedURL: URLWrapper;
}
export type BunziiConfig = {
plugins: {},
static: {
dir: string,
allowed: boolean
},
server: Server,
middlewares: BunziiMiddleWare[];
}
export declare class Bunzii {
private readonly router;
private headers: BunziiHeaders;
private configuration: BunziiConfig;
constructor();
get(path: string, handler: BunziiFunction): Bunzii;
post(path: string, handler: BunziiFunction): Bunzii;
patch(path: string, handler: BunziiFunction): Bunzii;
put(path: string, handler: BunziiFunction): Bunzii;
delete(path: string, handler: BunziiFunction): Bunzii;
static(dir: string): Bunzii;
route(method: string, path: string, handler: BunziiFunction): Bunzii;
use(name?: string, handler?: BunziiMiddleWare): Bunzii;
private handleRequest;
private handleStatic;
listen(port: number): void;
}