@tsclean/core
Version:
Plugin for API Rest Full development, based on Clean Architecture, IoC and Dependency Injection.
48 lines • 2.44 kB
TypeScript
import { AbstractHttpAdapter, ContainerIoC } from '../core';
import { ApplicationConfig } from './application-config';
import { ApplicationContext } from './application-context';
import { AccessResourceInterface, ExceptionFilterInterface, HttpServer, ApplicationInterface, ApplicationOptionsInterface, InterceptorInterface, GlobalPrefixOptionsInterface, CorsOptions, CorsOptionsDelegate, HandlerTransform, WebSocketAdapter } from '../contracts';
import { Logger } from '../services';
import { GraphInspector } from '../inspector';
export declare class Application extends ApplicationContext<ApplicationOptionsInterface> implements ApplicationInterface {
private readonly httpAdapter;
private readonly config;
private readonly graphInspector;
protected readonly logger: Logger;
private readonly middlewareModule;
private readonly middlewareContainer;
private readonly socketModule;
private readonly routesResolver;
private httpServer;
private isListening;
constructor(container: ContainerIoC, httpAdapter: HttpServer, config: ApplicationConfig, graphInspector: GraphInspector, appOptions?: ApplicationOptionsInterface);
protected dispose(): Promise<void>;
getHttpAdapter(): AbstractHttpAdapter;
registerHttpServer(): void;
getUnderlyingHttpServer<T>(): T;
applyOptions(): void;
createServer<T = any>(): T;
registerModules(): Promise<void>;
registerWsModule(): void;
init(): Promise<this>;
registerParserMiddleware(): void;
registerRouter(): Promise<void>;
registerRouterHooks(): Promise<void>;
getHttpServer(): any;
use(...args: [any, any?]): this;
enableCors(options?: CorsOptions | CorsOptionsDelegate<any>): void;
listen(port: number | string): Promise<any>;
listen(port: number | string, hostname: string): Promise<any>;
getUrl(): Promise<string>;
private formatAddress;
setGlobalPrefix(prefix: string, options?: GlobalPrefixOptionsInterface): this;
useWebSocketAdapter(adapter: WebSocketAdapter): this;
useGlobalFilters(...filters: ExceptionFilterInterface[]): this;
useGlobalHandler(...handlers: HandlerTransform<any>[]): this;
useGlobalInterceptors(...interceptors: InterceptorInterface[]): this;
useGlobalAccessResources(...guards: AccessResourceInterface[]): this;
private host;
private getProtocol;
private registerMiddleware;
}
//# sourceMappingURL=application.d.ts.map