tree-house
Version:
NodeJS utilities and handy helpers extending ExpressJS functionalities
28 lines (27 loc) • 1.08 kB
TypeScript
import { Application, RequestHandler } from 'express';
import { ClientOpts, RedisClient } from 'redis';
import * as cors from 'cors';
import * as helmet from 'helmet';
import * as bodyParser from 'body-parser';
import * as RateLimit from 'express-rate-limit';
declare type HelmetOptions = Parameters<typeof helmet>[0];
export declare function setBasicSecurity(app: Application, route: string, options?: SecurityOptions): void;
export declare function setBodyParser(app: Application, route: string, options?: BodyParserOptions): void;
export declare function getRateLimiter(options?: RateLimiterOptions): RequestHandler;
export interface RateLimiterOptions extends RateLimit.Options {
redis?: RedisOptions;
}
export interface SecurityOptions {
cors?: cors.CorsOptions;
helmet?: HelmetOptions;
}
export interface BodyParserOptions {
json?: bodyParser.OptionsJson;
raw?: bodyParser.Options;
text?: bodyParser.OptionsText;
urlEncoded?: bodyParser.OptionsUrlencoded;
}
export interface RedisOptions extends ClientOpts {
client?: RedisClient;
}
export {};