typescript-rest
Version:
A Library to create RESTFul APIs with Typescript
47 lines (46 loc) • 2.32 kB
TypeScript
/// <reference types="express-serve-static-core" />
/// <reference types="multer" />
/// <reference types="express" />
import * as express from 'express';
import * as multer from 'multer';
import * as metadata from './metadata';
import { HttpMethod, ServiceFactory } from './server-types';
export declare class InternalServer {
static serverClasses: Map<string, metadata.ServiceClass>;
static paths: Map<string, Set<HttpMethod>>;
static pathsResolved: boolean;
static cookiesSecret: string;
static cookiesDecoder: (val: string) => string;
static fileDest: string;
static fileFilter: (req: Express.Request, file: Express.Multer.File, callback: (error: Error, acceptFile: boolean) => void) => void;
static fileLimits: number;
static serviceFactory: ServiceFactory;
router: express.Router;
upload: multer.Instance;
constructor(router: express.Router);
static registerServiceClass(target: Function): metadata.ServiceClass;
static inheritParentClass(name: string): void;
static registerServiceMethod(target: Function, methodName: string): metadata.ServiceMethod;
buildServices(types?: Array<Function>): void;
buildService(serviceClass: metadata.ServiceClass, serviceMethod: metadata.ServiceMethod): void;
private static getServiceClass(target);
private validateTargetType(targetClass, types);
private handleNotAllowedMethods();
private getUploader();
private buildServiceMiddleware(serviceMethod);
private processResponseHeaders(serviceMethod, context);
private checkAcceptance(serviceMethod, context);
private createService(serviceClass, context);
private callTargetEndPoint(serviceClass, serviceMethod, req, res, next);
private sendValue(value, res, next);
private buildArgumentsList(serviceMethod, context);
private processParameter(paramType, context, name, type);
private convertType(paramValue, paramType);
static resolveAllPaths(): void;
static getPaths(): Set<string>;
static getHttpMethods(path: string): Set<HttpMethod>;
private static resolveLanguages(serviceClass, serviceMethod);
private static resolveAccepts(serviceClass, serviceMethod);
private static resolveProperties(serviceClass, serviceMethod);
private static resolvePath(serviceClass, serviceMethod);
}