UNPKG

tree-house

Version:

NodeJS utilities and handy helpers extending ExpressJS functionalities

28 lines (27 loc) 1.08 kB
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 {};