1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | const route_paramtypes_enum_1 = require("@nestjs/common/enums/route-paramtypes.enum");
|
4 | class RouteParamsFactory {
|
5 | exchangeKeyForValue(key, data, { req, res, next }) {
|
6 | switch (key) {
|
7 | case route_paramtypes_enum_1.RouteParamtypes.NEXT:
|
8 | return next;
|
9 | case route_paramtypes_enum_1.RouteParamtypes.REQUEST:
|
10 | return req;
|
11 | case route_paramtypes_enum_1.RouteParamtypes.RESPONSE:
|
12 | return res;
|
13 | case route_paramtypes_enum_1.RouteParamtypes.BODY:
|
14 | return data && req.body ? req.body[data] : req.body;
|
15 | case route_paramtypes_enum_1.RouteParamtypes.PARAM:
|
16 | return data ? req.params[data] : req.params;
|
17 | case route_paramtypes_enum_1.RouteParamtypes.HOST:
|
18 | const hosts = req.hosts || {};
|
19 | return data ? hosts[data] : hosts;
|
20 | case route_paramtypes_enum_1.RouteParamtypes.QUERY:
|
21 | return data ? req.query[data] : req.query;
|
22 | case route_paramtypes_enum_1.RouteParamtypes.HEADERS:
|
23 | return data ? req.headers[data] : req.headers;
|
24 | case route_paramtypes_enum_1.RouteParamtypes.SESSION:
|
25 | return req.session;
|
26 | case route_paramtypes_enum_1.RouteParamtypes.FILE:
|
27 | return req[data || 'file'];
|
28 | case route_paramtypes_enum_1.RouteParamtypes.FILES:
|
29 | return req.files;
|
30 | case route_paramtypes_enum_1.RouteParamtypes.IP:
|
31 | return req.ip;
|
32 | default:
|
33 | return null;
|
34 | }
|
35 | }
|
36 | }
|
37 | exports.RouteParamsFactory = RouteParamsFactory;
|