UNPKG

sipp

Version:

An Opinionated, High-Productivity MVC Web Framework in TypeScript

54 lines (53 loc) 1.78 kB
/// <reference types="node" /> import { IncomingMessage, ServerResponse } from 'http'; import { SessionOptions } from 'express-session'; import { Request } from 'express'; import { CookieOptions } from 'csurf'; import { Logger } from '../logger'; interface ICsrfOptions { value?: (req: Request) => string; cookie?: CookieOptions | boolean; ignoreMethods?: string[]; sessionKey?: string; } declare type MiddlewareTest = string | RegExp; declare type MiddlwareOptions<Opt> = false | Opt | [MiddlewareTest, Opt]; export interface IAppConfig { mode: 'production' | 'development' | string; basePath?: string; knexPath?: string; logMode?: 'production' | 'development' | string; logger?: Logger; port?: number; serviceName?: string; middleware?: { body?: MiddlwareOptions<{ extended?: boolean; inflate?: boolean; limit?: number | string; parameterLimit?: number; type?: string; verify?: (req: IncomingMessage, res: ServerResponse, buf: Buffer, encoding: string) => void; }>; cookieParser?: MiddlwareOptions<[ secret: string, opt?: { decode: Function; } ]>; csrf?: MiddlwareOptions<ICsrfOptions>; json?: MiddlwareOptions<{ inflate?: boolean; reviver?: (key: string, value: any) => any; limit?: number | string; strict?: boolean; type?: 'string'; verify?: (req: IncomingMessage, res: ServerResponse, buf: Buffer, encoding: string) => void; }>; session?: MiddlwareOptions<SessionOptions>; static?: MiddlwareOptions<{ path: string; }>; }; } export {};