1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const common_1 = require("@nestjs/common");
|
4 | const shared_utils_1 = require("@nestjs/common/utils/shared.utils");
|
5 | class RouterResponseController {
|
6 | constructor(applicationRef) {
|
7 | this.applicationRef = applicationRef;
|
8 | }
|
9 | async apply(result, response, httpStatusCode) {
|
10 | return this.applicationRef.reply(response, result, httpStatusCode);
|
11 | }
|
12 | async redirect(resultOrDeferred, response, redirectResponse) {
|
13 | const result = await this.transformToResult(resultOrDeferred);
|
14 | const statusCode = result && result.statusCode
|
15 | ? result.statusCode
|
16 | : redirectResponse.statusCode
|
17 | ? redirectResponse.statusCode
|
18 | : common_1.HttpStatus.FOUND;
|
19 | const url = result && result.url ? result.url : redirectResponse.url;
|
20 | this.applicationRef.redirect(response, statusCode, url);
|
21 | }
|
22 | async render(resultOrDeferred, response, template) {
|
23 | const result = await this.transformToResult(resultOrDeferred);
|
24 | this.applicationRef.render(response, template, result);
|
25 | }
|
26 | async transformToResult(resultOrDeferred) {
|
27 | if (resultOrDeferred && shared_utils_1.isFunction(resultOrDeferred.subscribe)) {
|
28 | return resultOrDeferred.toPromise();
|
29 | }
|
30 | return resultOrDeferred;
|
31 | }
|
32 | getStatusByMethod(requestMethod) {
|
33 | switch (requestMethod) {
|
34 | case common_1.RequestMethod.POST:
|
35 | return common_1.HttpStatus.CREATED;
|
36 | default:
|
37 | return common_1.HttpStatus.OK;
|
38 | }
|
39 | }
|
40 | setHeaders(response, headers) {
|
41 | headers.forEach(({ name, value }) => this.applicationRef.setHeader(response, name, value));
|
42 | }
|
43 | setStatus(response, statusCode) {
|
44 | this.applicationRef.status(response, statusCode);
|
45 | }
|
46 | }
|
47 | exports.RouterResponseController = RouterResponseController;
|