# Class PlatformContext
ClassModule | import { PlatformContext } from "@tsed/common" |
---|---|
Source | /packages/common/src/platform/domain/PlatformContext.ts |
# Overview
class PlatformContext extends Map<any, any> {
<span class="token keyword">readonly</span> id<span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">;</span>
<span class="token keyword">readonly</span> dateStart<span class="token punctuation">:</span> <span class="token keyword">Date</span><span class="token punctuation">;</span>
container<span class="token punctuation">:</span> <a href="/api/di/class/LocalsContainer.html"><span class="token">LocalsContainer</span></a><<span class="token keyword">any</span>><span class="token punctuation">;</span>
endpoint<span class="token punctuation">:</span> <a href="/api/common/mvc/models/EndpointMetadata.html"><span class="token">EndpointMetadata</span></a><span class="token punctuation">;</span>
data<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">;</span>
logger<span class="token punctuation">:</span> <a href="/api/common/platform/domain/RequestLogger.html"><span class="token">RequestLogger</span></a><span class="token punctuation">;</span>
response<span class="token punctuation">:</span> <a href="/api/common/platform/services/PlatformResponse.html"><span class="token">PlatformResponse</span></a><span class="token punctuation">;</span>
request<span class="token punctuation">:</span> <a href="/api/common/platform/services/PlatformRequest.html"><span class="token">PlatformRequest</span></a><span class="token punctuation">;</span>
injector<span class="token punctuation">:</span> <a href="/api/di/services/InjectorService.html"><span class="token">InjectorService</span></a><span class="token punctuation">;</span>
<span class="token keyword">constructor</span><span class="token punctuation">(</span><span class="token punctuation">{</span> id<span class="token punctuation">,</span> injector<span class="token punctuation">,</span> logger<span class="token punctuation">,</span> response<span class="token punctuation">,</span> request<span class="token punctuation">,</span> endpoint<span class="token punctuation">,</span> ...options <span class="token punctuation">}</span><span class="token punctuation">:</span> <a href="/api/common/platform/domain/RequestContextOptions.html"><span class="token">RequestContextOptions</span></a><span class="token punctuation">)</span><span class="token punctuation">;</span>
get <span class="token function">env</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">import</span><span class="token punctuation">(</span>"@tsed/core"<span class="token punctuation">)</span>.<a href="/api/core/interfaces/Env.html"><span class="token">Env</span></a><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/common/platform/services/PlatformApplication.html"><span class="token">PlatformApplication</span></a><TsED.Application<span class="token punctuation">,</span> TsED.Router><span class="token punctuation">;</span>
<span class="token function">destroy</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> Promise<<span class="token keyword">void</span>><span class="token punctuation">;</span>
<span class="token function">isDone</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <span class="token keyword">boolean</span><span class="token punctuation">;</span>
<span class="token function">emit</span><span class="token punctuation">(</span>eventName<span class="token punctuation">:</span> <span class="token keyword">string</span><span class="token punctuation">,</span> ...args<span class="token punctuation">:</span> <span class="token keyword">any</span><span class="token punctuation">[</span><span class="token punctuation">]</span><span class="token punctuation">)</span><span class="token punctuation">:</span> Promise<<span class="token keyword">void</span>><span class="token punctuation">;</span>
getRequest<<a href="/api/common/mvc/decorators/params/Req.html"><span class="token">Req</span></a><span class="token punctuation"> = </span><span class="token keyword">any</span>><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <a href="/api/common/mvc/decorators/params/Req.html"><span class="token">Req</span></a><span class="token punctuation">;</span>
getResponse<<a href="/api/common/mvc/decorators/params/Res.html"><span class="token">Res</span></a><span class="token punctuation"> = </span><span class="token keyword">any</span>><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> <a href="/api/common/mvc/decorators/params/Res.html"><span class="token">Res</span></a><span class="token punctuation">;</span>
<span class="token function">getReq</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> IncomingMessage<span class="token punctuation">;</span>
<span class="token function">getRes</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> ServerResponse<span class="token punctuation">;</span>
getApp<T<span class="token punctuation"> = </span><span class="token keyword">any</span>><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">:</span> T<span class="token punctuation">;</span>
}
# Members
readonly id: string;
Request id generated by
TIP
By default Ts.ED generate uuid like that uuidv4().replace(/-/gi, ""))
.
Dash are removed to simplify tracking logs in Kibana
TIP
Request id can by customized by changing the server configuration.
@Configuration({
logger: {
reqIdBuilder: createUniqId // give your own id generator function
}
})
class Server {
}
2
3
4
5
6
7
8
:::
readonly dateStart: Date;
Date when request have been handled by the server.
container: LocalsContainer<any>;
The request container used by the Ts.ED DI. It contain all services annotated with @Scope(ProviderScope.REQUEST)
endpoint: EndpointMetadata;
The current
data: any;
The data return by the previous endpoint if you use multiple handler on the same route. By default data is empty.
logger: RequestLogger;
Logger attached to the context request.
response: PlatformResponse;
The current
request: PlatformRequest;
The current
injector: InjectorService;
get env(): import("@tsed/core").Env;
get app(): PlatformApplication<TsED.Application, TsED.Router>;
destroy(): Promise<void>;
isDone(): boolean;
emit(eventName: string, ...args: any[]): Promise<void>;
getReq(): IncomingMessage;
Get Node.js request
getRes(): ServerResponse;
Get Node.js response
getApp<T = any>(): T;
Return the original application instance.
Other topics
- Session & cookies
- Passport.js
- Keycloak
- TypeORM
- Mongoose
- GraphQL
- Socket.io
- Swagger
- AJV
- Multer
- Serve static files
- Templating
- AWS
- Seq
- OIDC
- Stripe
- Controllers
- Providers
- Model
- JsonMapper
- Middlewares
- Pipes
- Interceptors
- Authentication
- Hooks
- Exceptions
- Throw HTTP Exceptions
- Cache
- Hooks
- Response Filter
- Injection scopes
- Custom providers
- Custom endpoint decorator
- Testing
- Customize 404