# Class PlatformAdapter
ClassModule | import { PlatformAdapter } from "@tsed/common" |
---|---|
Source | /packages/platform/common/src/types/services/PlatformAdapter.ts |
# Overview
abstract class PlatformAdapter<App = TsED.Application> {
protected injector: InjectorService;
static readonly NAME: string;
providers<span class="token punctuation">:</span> <a href="/api/di/types/common/interfaces/ProviderOpts.html"><span class="token">ProviderOpts</span></a><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
<span class="token keyword">constructor</span><span class="token punctuation">(</span>injector<span class="token punctuation">:</span> <a href="/api/di/types/common/services/InjectorService.html"><span class="token">InjectorService</span></a><span class="token punctuation">)</span><span class="token punctuation">;</span>
get <span class="token function">app</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <a href="/api/platform/common/types/services/PlatformApplication.html"><span class="token">PlatformApplication</span></a><App><span class="token punctuation">;</span>
<span class="token function">onInit</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">;</span>
<span class="token function">beforeLoadRoutes</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> Promise<<span class="token keyword">any</span>><span class="token punctuation">;</span>
<span class="token function">afterLoadRoutes</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> Promise<<span class="token keyword">any</span>><span class="token punctuation">;</span>
<span class="token keyword">abstract</span> <span class="token function">useContext</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">;</span>
<span class="token keyword">abstract</span> <span class="token function">mapLayers</span><span class="token punctuation">(</span>layer<span class="token punctuation">:</span> <a href="/api/platform/platform-router/types/domain/PlatformLayer.html"><span class="token">PlatformLayer</span></a><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">void</span><span class="token punctuation">;</span>
<span class="token keyword">abstract</span> <span class="token function">mapHandler</span><span class="token punctuation">(</span>handler<span class="token punctuation">:</span> Function<span class="token punctuation">,</span> layer<span class="token punctuation">:</span> <a href="/api/platform/platform-router/types/domain/PlatformHandlerMetadata.html"><span class="token">PlatformHandlerMetadata</span></a><span class="token punctuation">)</span><span class="token punctuation">:</span> Function<span class="token punctuation">;</span>
<span class="token function">getServers</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> CreateServerReturn<span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">;</span>
<span class="token keyword">abstract</span> <span class="token function">createApp</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token punctuation">{</span>
app<span class="token punctuation">:</span> App<span class="token punctuation">;</span>
<span class="token function">callback</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token punctuation">(</span>req<span class="token punctuation">:</span> IncomingMessage<span class="token punctuation">,</span> res<span class="token punctuation">:</span> ServerResponse<span class="token punctuation">)</span> => <span class="token keyword">void</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span><span class="token punctuation">;</span>
<span class="token keyword">abstract</span> <span class="token function">statics</span><span class="token punctuation">(</span>endpoint<span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">,</span> options<span class="token punctuation">:</span> <a href="/api/platform/common/types/config/interfaces/PlatformStaticsOptions.html"><span class="token">PlatformStaticsOptions</span></a><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">;</span>
<span class="token keyword">abstract</span> <span class="token function">multipart</span><span class="token punctuation">(</span>options<span class="token punctuation">:</span> <a href="/api/platform/common/types/config/interfaces/PlatformMulterSettings.html"><span class="token">PlatformMulterSettings</span></a><span class="token punctuation">)</span><span class="token punctuation">:</span> <a href="/api/platform/common/types/config/interfaces/PlatformMulter.html"><span class="token">PlatformMulter</span></a><span class="token punctuation">;</span>
<span class="token keyword">abstract</span> <span class="token function">bodyParser</span><span class="token punctuation">(</span>type<span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">,</span> opts?<span class="token punctuation">:</span> Record<<span class="token keyword">string</span><span class="token punctuation">,</span> <span class="token keyword">any</span>><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">;</span>
}
# Members
protected injector: InjectorService;
static readonly NAME: string;
providers: ProviderOpts[];
Load providers in top priority
get app(): PlatformApplication<App>;
onInit(): any;
Called after the injector instantiation
beforeLoadRoutes(): Promise<any>;
afterLoadRoutes(): Promise<any>;
abstract useContext(): any;
create initial context
abstract mapLayers(layer: PlatformLayer[]): void;
Map router layer to the targeted framework
abstract mapHandler(handler: Function, layer: PlatformHandlerMetadata): Function;
Map handler to the targeted framework
getServers(): CreateServerReturn[];
abstract createApp(): {
app: App;
callback(): (req: IncomingMessage, res: ServerResponse) => void;
};
Return the app instance
abstract statics(endpoint: string, options: PlatformStaticsOptions): any;
Return the statics middlewares
abstract multipart(options: PlatformMulterSettings): PlatformMulter;
Return the multipart middleware
abstract bodyParser(type: string, opts?: Record<string, any>): any;
Return the body parser for the given