Skip to content

PlatformBuilder

@tsed/platform-http

Usage

typescript
import { PlatformBuilder } from "@tsed/platform-http";

See /packages/platform/platform-http/src/common/builder/PlatformBuilder.ts.

Overview

ts
class PlatformBuilder<App = TsED.Application> {
    protected startedAt: Date;
    protected current: Date;
    protected constructor(settings: Partial<TsED.Configuration>);
    get name(): string;
    get rootModule(): any | undefined;
    get app(): PlatformApplication<App>;
    get platform(): Platform;
    get adapter(): PlatformAdapter<any>;
    get settings(): TsED.Configuration & import("@tsed/di").DIConfiguration;
    get logger(): import("@tsed/di").DILogger;
    get disableBootstrapLog(): boolean | undefined;
    get injector(): InjectorService;
    static create<App = TsED.Application>(settings: PlatformBuilderSettings<App>): PlatformBuilder<App>;
    static create<App = TsED.Application>(module: Type<any>, settings?: PlatformBuilderSettings<App>): PlatformBuilder<App>;
    static build<App = TsED.Application>(settings: PlatformBuilderSettings<App>): PlatformBuilder<App>;
    static build<App = TsED.Application>(module: Type<any>, settings?: PlatformBuilderSettings<App>): PlatformBuilder<App>;
    static bootstrap<App = TsED.Application>(settings: PlatformBuilderSettings<App>): Promise<PlatformBuilder<App>>;
    static bootstrap<App = TsED.Application>(module: Type<any>, settings?: PlatformBuilderSettings<App>): Promise<PlatformBuilder<App>>;
    callback(): (req: IncomingMessage, res: ServerResponse) => void;
    callback(req: IncomingMessage, res: ServerResponse): void;
    log(...data: any[]): any;
    addControllers(endpoint: string, controllers: TokenProvider | TokenProvider[]): void;
    runLifecycle(): Promise<this>;
    loadInjector(): Promise<void>;
    listen(network?: boolean): Promise<void>;
    stop(): Promise<void>;
    ready(): Promise<void>;
    callHook(hook: string, ...args: any[]): Promise<void>;
    loadStatics(hook: string): void;
    useProvider(token: Type<any>, settings?: Partial<ProviderOpts>): this;
    bootstrap(): Promise<this>;
    protected mapRouters(): Promise<void>;
    protected diff(): string;
    protected loadMiddlewaresFor(hook: string): void;
    protected createHttpServers(): void;
    protected listenServers(): Promise<void>;
    protected logRoutes(layers: PlatformLayer[]): Promise<void>;
}

protected startedAt

ts
protected startedAt: Date;

protected current

ts
protected current: Date;

get name

ts
get name(): string;

get rootModule

ts
get rootModule(): any | undefined;

get app

ts
get app(): PlatformApplication<App>;

get platform

ts
get platform(): Platform;

get adapter

ts
get adapter(): PlatformAdapter<any>;

get settings

ts
get settings(): TsED.Configuration & import("@tsed/di").DIConfiguration;

Return the settings configured by the decorator Configuration.

typescript
@Configuration({
  port: 8000,
  httpsPort: 8080,
  mount: {
    "/rest": "${rootDir}/controllers/**/*.js"
  }
})
export class Server {
  $onInit(){
    console.log(this.settings); // {rootDir, port, httpsPort,...}
  }
}

get logger

ts
get logger(): import("@tsed/di").DILogger;

get disableBootstrapLog

ts
get disableBootstrapLog(): boolean | undefined;

get injector

ts
get injector(): InjectorService;

static create

ts
static create<App = TsED.Application>(settings: PlatformBuilderSettings<App>): PlatformBuilder<App>;

static create

ts
static create<App = TsED.Application>(module: Type<any>, settings?: PlatformBuilderSettings<App>): PlatformBuilder<App>;

static build

ts
static build<App = TsED.Application>(settings: PlatformBuilderSettings<App>): PlatformBuilder<App>;

static build

ts
static build<App = TsED.Application>(module: Type<any>, settings?: PlatformBuilderSettings<App>): PlatformBuilder<App>;

static bootstrap

ts
static bootstrap<App = TsED.Application>(settings: PlatformBuilderSettings<App>): Promise<PlatformBuilder<App>>;

Bootstrap a server application

static bootstrap

ts
static bootstrap<App = TsED.Application>(module: Type<any>, settings?: PlatformBuilderSettings<App>): Promise<PlatformBuilder<App>>;

callback

ts
callback(): (req: IncomingMessage, res: ServerResponse) => void;

callback

ts
callback(req: IncomingMessage, res: ServerResponse): void;

log

ts
log(...data: any[]): any;

addControllers

ts
addControllers(endpoint: string, controllers: TokenProvider | TokenProvider[]): void;

Add classes decorated by Controller to components container.

Example

typescript
@Controller('/ctrl')
class MyController{
}

platform.addControllers('/rest', [MyController])

TIP

If the MyController class isn't decorated, the class will be ignored.

runLifecycle

ts
runLifecycle(): Promise<this>;

loadInjector

ts
loadInjector(): Promise<void>;

listen

ts
listen(network?: boolean): Promise<void>;

stop

ts
stop(): Promise<void>;

ready

ts
ready(): Promise<void>;

callHook

ts
callHook(hook: string, ...args: any[]): Promise<void>;

loadStatics

ts
loadStatics(hook: string): void;

useProvider

ts
useProvider(token: Type<any>, settings?: Partial<ProviderOpts>): this;

bootstrap

ts
bootstrap(): Promise<this>;

protected mapRouters

ts
protected mapRouters(): Promise<void>;

protected diff

ts
protected diff(): string;

protected loadMiddlewaresFor

ts
protected loadMiddlewaresFor(hook: string): void;

Load middlewares from configuration for the given hook

protected createHttpServers

ts
protected createHttpServers(): void;

protected listenServers

ts
protected listenServers(): Promise<void>;

protected logRoutes

ts
protected logRoutes(layers: PlatformLayer[]): Promise<void>;

Released under the MIT License.