UNPKG

typescript-rest

Version:
78 lines (77 loc) 3.23 kB
/// <reference types="express" /> /// <reference types="express-serve-static-core" /> /// <reference types="multer" /> import * as express from 'express'; import 'multer'; import { HttpMethod, ServiceFactory } from './server-types'; /** * The Http server main class. */ export declare class Server { /** * Create the routes for all classes decorated with our decorators */ static buildServices(router: express.Router, ...types: any[]): void; /** * Return all paths accepted by the Server */ static getPaths(): Array<string>; /** * Register a custom serviceFactory. It will be used to instantiate the service Objects * If You plan to use a custom serviceFactory, You must ensure to call this method before any typescript-rest service declaration. */ static registerServiceFactory(serviceFactory: ServiceFactory): void; /** * Configure the Server to use [typescript-ioc](https://github.com/thiagobustamante/typescript-ioc) * to instantiate the service objects. * If You plan to use IoC, You must ensure to call this method before any typescript-rest service declaration. */ static useIoC(): void; /** * Return the set oh HTTP verbs configured for the given path * @param path The path to search HTTP verbs */ static getHttpMethods(path: string): Array<HttpMethod>; /** * A string used for signing cookies. This is optional and if not specified, * will not parse signed cookies. * @param secret the secret used to sign */ static setCookiesSecret(secret: string): void; /** * Specifies a function that will be used to decode a cookie's value. * This function can be used to decode a previously-encoded cookie value * into a JavaScript string. * The default function is the global decodeURIComponent, which will decode * any URL-encoded sequences into their byte representations. * * NOTE: if an error is thrown from this function, the original, non-decoded * cookie value will be returned as the cookie's value. * @param decoder The decoder function */ static setCookiesDecoder(decoder: (val: string) => string): void; /** * Set where to store the uploaded files * @param dest Destination folder */ static setFileDest(dest: string): void; /** * Set a Function to control which files are accepted to upload * @param filter The filter function */ static setFileFilter(filter: (req: Express.Request, file: Express.Multer.File, callback: (error: Error, acceptFile: boolean) => void) => void): void; /** * Set the limits of uploaded data * @param limit The data limit */ static setFileLimits(limit: number): void; /** * Creates and endpoint to publish the swagger documentation. * @param router Express router * @param filePath the path to a swagger file (json or yaml) * @param endpoint where to publish the docs * @param host the hostname of the service * @param schemes the schemes used by the server */ static swagger(router: express.Router, filePath: string, endpoint: string, host?: string, schemes?: string[]): void; }