UNPKG

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