@spinajs/http 2.0.180 → 2.0.182
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/cjs/bootstrap.d.ts +4 -4
- package/lib/cjs/bootstrap.js +29 -29
- package/lib/cjs/bootstrap.js.map +1 -1
- package/lib/cjs/config/http.d.ts +58 -58
- package/lib/cjs/config/http.js +86 -86
- package/lib/cjs/controllers.d.ts +48 -48
- package/lib/cjs/controllers.d.ts.map +1 -1
- package/lib/cjs/controllers.js +307 -312
- package/lib/cjs/controllers.js.map +1 -1
- package/lib/cjs/decorators.d.ts +183 -183
- package/lib/cjs/decorators.js +441 -441
- package/lib/cjs/hydrators/DateTimeHydrator.d.ts +5 -5
- package/lib/cjs/hydrators/DateTimeHydrator.js +36 -36
- package/lib/cjs/hydrators/DateTimeHydrator.js.map +1 -1
- package/lib/cjs/index.d.ts +9 -9
- package/lib/cjs/index.js +25 -25
- package/lib/cjs/interfaces.d.ts +569 -550
- package/lib/cjs/interfaces.d.ts.map +1 -1
- package/lib/cjs/interfaces.js +266 -259
- package/lib/cjs/interfaces.js.map +1 -1
- package/lib/cjs/middlewares/RealIp.d.ts +8 -8
- package/lib/cjs/middlewares/RealIp.js +34 -34
- package/lib/cjs/middlewares/RealIp.js.map +1 -1
- package/lib/cjs/middlewares/RequestId.d.ts +8 -8
- package/lib/cjs/middlewares/RequestId.js +35 -35
- package/lib/cjs/middlewares/RequestId.js.map +1 -1
- package/lib/cjs/middlewares/ResponseTime.d.ts +10 -10
- package/lib/cjs/middlewares/ResponseTime.js +41 -41
- package/lib/cjs/middlewares/ResponseTime.js.map +1 -1
- package/lib/cjs/response-methods/badRequest.d.ts +12 -12
- package/lib/cjs/response-methods/badRequest.js +20 -20
- package/lib/cjs/response-methods/conflict.d.ts +12 -12
- package/lib/cjs/response-methods/conflict.js +20 -20
- package/lib/cjs/response-methods/cookieResponse.d.ts +19 -19
- package/lib/cjs/response-methods/cookieResponse.js +73 -73
- package/lib/cjs/response-methods/created.d.ts +12 -12
- package/lib/cjs/response-methods/created.js +19 -19
- package/lib/cjs/response-methods/errorResponse.d.ts +7 -7
- package/lib/cjs/response-methods/errorResponse.js +24 -24
- package/lib/cjs/response-methods/file.d.ts +26 -26
- package/lib/cjs/response-methods/file.d.ts.map +1 -1
- package/lib/cjs/response-methods/file.js +112 -133
- package/lib/cjs/response-methods/file.js.map +1 -1
- package/lib/cjs/response-methods/forbidden.d.ts +12 -12
- package/lib/cjs/response-methods/forbidden.js +20 -20
- package/lib/cjs/response-methods/index.d.ts +13 -13
- package/lib/cjs/response-methods/index.js +29 -29
- package/lib/cjs/response-methods/noContent.d.ts +12 -12
- package/lib/cjs/response-methods/noContent.js +20 -20
- package/lib/cjs/response-methods/notAcceptable.d.ts +13 -13
- package/lib/cjs/response-methods/notAcceptable.js +21 -21
- package/lib/cjs/response-methods/notAllowed.d.ts +12 -12
- package/lib/cjs/response-methods/notAllowed.js +20 -20
- package/lib/cjs/response-methods/notFound.d.ts +12 -12
- package/lib/cjs/response-methods/notFound.js +20 -20
- package/lib/cjs/response-methods/ok.d.ts +12 -12
- package/lib/cjs/response-methods/ok.js +19 -19
- package/lib/cjs/response-methods/redirect.d.ts +12 -12
- package/lib/cjs/response-methods/redirect.js +19 -19
- package/lib/cjs/response-methods/serverError.d.ts +12 -12
- package/lib/cjs/response-methods/serverError.js +20 -20
- package/lib/cjs/response-methods/template.d.ts +15 -15
- package/lib/cjs/response-methods/template.js +36 -36
- package/lib/cjs/response-methods/unauthorized.d.ts +12 -12
- package/lib/cjs/response-methods/unauthorized.js +20 -20
- package/lib/cjs/response-methods/validationError.d.ts +12 -12
- package/lib/cjs/response-methods/validationError.js +20 -20
- package/lib/cjs/responses.d.ts +34 -34
- package/lib/cjs/responses.js +173 -173
- package/lib/cjs/route-args/ArgAsRequest.d.ts +11 -11
- package/lib/cjs/route-args/ArgAsRequest.js +24 -24
- package/lib/cjs/route-args/ArgAsRequest.js.map +1 -1
- package/lib/cjs/route-args/ArgAsResponse.d.ts +10 -10
- package/lib/cjs/route-args/ArgAsResponse.js +24 -24
- package/lib/cjs/route-args/ArgAsResponse.js.map +1 -1
- package/lib/cjs/route-args/ArgHydrator.d.ts +4 -4
- package/lib/cjs/route-args/ArgHydrator.js +6 -6
- package/lib/cjs/route-args/FromBody.d.ts +10 -10
- package/lib/cjs/route-args/FromBody.js +26 -26
- package/lib/cjs/route-args/FromBody.js.map +1 -1
- package/lib/cjs/route-args/FromCookie.d.ts +13 -13
- package/lib/cjs/route-args/FromCookie.js +72 -72
- package/lib/cjs/route-args/FromCookie.js.map +1 -1
- package/lib/cjs/route-args/FromDi.d.ts +13 -13
- package/lib/cjs/route-args/FromDi.js +35 -35
- package/lib/cjs/route-args/FromDi.js.map +1 -1
- package/lib/cjs/route-args/FromForm.d.ts +66 -92
- package/lib/cjs/route-args/FromForm.d.ts.map +1 -1
- package/lib/cjs/route-args/FromForm.js +214 -291
- package/lib/cjs/route-args/FromForm.js.map +1 -1
- package/lib/cjs/route-args/FromHeaderArg.d.ts +10 -10
- package/lib/cjs/route-args/FromHeaderArg.js +25 -25
- package/lib/cjs/route-args/FromHeaderArg.js.map +1 -1
- package/lib/cjs/route-args/FromParams.d.ts +10 -10
- package/lib/cjs/route-args/FromParams.js +27 -27
- package/lib/cjs/route-args/FromParams.js.map +1 -1
- package/lib/cjs/route-args/FromQuery.d.ts +10 -10
- package/lib/cjs/route-args/FromQuery.js +27 -27
- package/lib/cjs/route-args/FromQuery.js.map +1 -1
- package/lib/cjs/route-args/RequestFields.d.ts +40 -40
- package/lib/cjs/route-args/RequestFields.js +110 -110
- package/lib/cjs/route-args/RequestFields.js.map +1 -1
- package/lib/cjs/route-args/RouteArgs.d.ts +22 -22
- package/lib/cjs/route-args/RouteArgs.js +114 -114
- package/lib/cjs/route-args/RouteArgs.js.map +1 -1
- package/lib/cjs/route-args/index.d.ts +12 -12
- package/lib/cjs/route-args/index.js +28 -28
- package/lib/cjs/schemas/RouteArgsSchemas.d.ts +36 -36
- package/lib/cjs/schemas/RouteArgsSchemas.js +26 -26
- package/lib/cjs/server.d.ts +50 -50
- package/lib/cjs/server.js +272 -272
- package/lib/cjs/server.js.map +1 -1
- package/lib/cjs/transformers/PureTransformer.d.ts +9 -9
- package/lib/cjs/transformers/PureTransformer.js +27 -27
- package/lib/cjs/transformers/PureTransformer.js.map +1 -1
- package/lib/cjs/transformers/index.d.ts +1 -1
- package/lib/cjs/transformers/index.js +17 -17
- package/lib/cjs/uploaders/ImmediateFileUploader.d.ts +19 -0
- package/lib/cjs/uploaders/ImmediateFileUploader.d.ts.map +1 -0
- package/lib/cjs/uploaders/ImmediateFileUploader.js +69 -0
- package/lib/cjs/uploaders/ImmediateFileUploader.js.map +1 -0
- package/lib/mjs/bootstrap.d.ts +4 -4
- package/lib/mjs/bootstrap.js +26 -26
- package/lib/mjs/bootstrap.js.map +1 -1
- package/lib/mjs/config/http.d.ts +58 -58
- package/lib/mjs/config/http.js +81 -81
- package/lib/mjs/controllers.d.ts +48 -48
- package/lib/mjs/controllers.d.ts.map +1 -1
- package/lib/mjs/controllers.js +276 -281
- package/lib/mjs/controllers.js.map +1 -1
- package/lib/mjs/decorators.d.ts +183 -183
- package/lib/mjs/decorators.js +404 -404
- package/lib/mjs/exceptions.d.ts +1 -1
- package/lib/mjs/exceptions.js +1 -1
- package/lib/mjs/hydrators/DateTimeHydrator.d.ts +5 -5
- package/lib/mjs/hydrators/DateTimeHydrator.js +30 -30
- package/lib/mjs/hydrators/DateTimeHydrator.js.map +1 -1
- package/lib/mjs/index.d.ts +9 -9
- package/lib/mjs/index.js +9 -9
- package/lib/mjs/interfaces.d.ts +569 -550
- package/lib/mjs/interfaces.d.ts.map +1 -1
- package/lib/mjs/interfaces.js +257 -251
- package/lib/mjs/interfaces.js.map +1 -1
- package/lib/mjs/middlewares/RealIp.d.ts +8 -8
- package/lib/mjs/middlewares/RealIp.js +31 -31
- package/lib/mjs/middlewares/RealIp.js.map +1 -1
- package/lib/mjs/middlewares/RequestId.d.ts +8 -8
- package/lib/mjs/middlewares/RequestId.js +32 -32
- package/lib/mjs/middlewares/RequestId.js.map +1 -1
- package/lib/mjs/middlewares/ResponseTime.d.ts +10 -10
- package/lib/mjs/middlewares/ResponseTime.js +38 -38
- package/lib/mjs/middlewares/ResponseTime.js.map +1 -1
- package/lib/mjs/response-methods/badRequest.d.ts +12 -12
- package/lib/mjs/response-methods/badRequest.js +16 -16
- package/lib/mjs/response-methods/conflict.d.ts +12 -12
- package/lib/mjs/response-methods/conflict.js +16 -16
- package/lib/mjs/response-methods/cookieResponse.d.ts +19 -19
- package/lib/mjs/response-methods/cookieResponse.js +46 -46
- package/lib/mjs/response-methods/created.d.ts +12 -12
- package/lib/mjs/response-methods/created.js +15 -15
- package/lib/mjs/response-methods/errorResponse.d.ts +7 -7
- package/lib/mjs/response-methods/errorResponse.js +17 -17
- package/lib/mjs/response-methods/file.d.ts +26 -26
- package/lib/mjs/response-methods/file.d.ts.map +1 -1
- package/lib/mjs/response-methods/file.js +103 -124
- package/lib/mjs/response-methods/file.js.map +1 -1
- package/lib/mjs/response-methods/forbidden.d.ts +12 -12
- package/lib/mjs/response-methods/forbidden.js +16 -16
- package/lib/mjs/response-methods/index.d.ts +13 -13
- package/lib/mjs/response-methods/index.js +13 -13
- package/lib/mjs/response-methods/noContent.d.ts +12 -12
- package/lib/mjs/response-methods/noContent.js +16 -16
- package/lib/mjs/response-methods/notAcceptable.d.ts +13 -13
- package/lib/mjs/response-methods/notAcceptable.js +17 -17
- package/lib/mjs/response-methods/notAllowed.d.ts +12 -12
- package/lib/mjs/response-methods/notAllowed.js +16 -16
- package/lib/mjs/response-methods/notFound.d.ts +12 -12
- package/lib/mjs/response-methods/notFound.js +16 -16
- package/lib/mjs/response-methods/ok.d.ts +12 -12
- package/lib/mjs/response-methods/ok.js +15 -15
- package/lib/mjs/response-methods/redirect.d.ts +12 -12
- package/lib/mjs/response-methods/redirect.js +15 -15
- package/lib/mjs/response-methods/serverError.d.ts +12 -12
- package/lib/mjs/response-methods/serverError.js +16 -16
- package/lib/mjs/response-methods/template.d.ts +15 -15
- package/lib/mjs/response-methods/template.js +29 -29
- package/lib/mjs/response-methods/unauthorized.d.ts +12 -12
- package/lib/mjs/response-methods/unauthorized.js +16 -16
- package/lib/mjs/response-methods/validationError.d.ts +12 -12
- package/lib/mjs/response-methods/validationError.js +16 -16
- package/lib/mjs/responses.d.ts +34 -34
- package/lib/mjs/responses.js +143 -143
- package/lib/mjs/route-args/ArgAsRequest.d.ts +11 -11
- package/lib/mjs/route-args/ArgAsRequest.js +21 -21
- package/lib/mjs/route-args/ArgAsRequest.js.map +1 -1
- package/lib/mjs/route-args/ArgAsResponse.d.ts +10 -10
- package/lib/mjs/route-args/ArgAsResponse.js +21 -21
- package/lib/mjs/route-args/ArgAsResponse.js.map +1 -1
- package/lib/mjs/route-args/ArgHydrator.d.ts +4 -4
- package/lib/mjs/route-args/ArgHydrator.js +2 -2
- package/lib/mjs/route-args/FromBody.d.ts +10 -10
- package/lib/mjs/route-args/FromBody.js +23 -23
- package/lib/mjs/route-args/FromBody.js.map +1 -1
- package/lib/mjs/route-args/FromCookie.d.ts +13 -13
- package/lib/mjs/route-args/FromCookie.js +46 -46
- package/lib/mjs/route-args/FromCookie.js.map +1 -1
- package/lib/mjs/route-args/FromDi.d.ts +13 -13
- package/lib/mjs/route-args/FromDi.js +32 -32
- package/lib/mjs/route-args/FromDi.js.map +1 -1
- package/lib/mjs/route-args/FromForm.d.ts +66 -92
- package/lib/mjs/route-args/FromForm.d.ts.map +1 -1
- package/lib/mjs/route-args/FromForm.js +210 -284
- package/lib/mjs/route-args/FromForm.js.map +1 -1
- package/lib/mjs/route-args/FromHeaderArg.d.ts +10 -10
- package/lib/mjs/route-args/FromHeaderArg.js +22 -22
- package/lib/mjs/route-args/FromHeaderArg.js.map +1 -1
- package/lib/mjs/route-args/FromParams.d.ts +10 -10
- package/lib/mjs/route-args/FromParams.js +24 -24
- package/lib/mjs/route-args/FromParams.js.map +1 -1
- package/lib/mjs/route-args/FromQuery.d.ts +10 -10
- package/lib/mjs/route-args/FromQuery.js +24 -24
- package/lib/mjs/route-args/FromQuery.js.map +1 -1
- package/lib/mjs/route-args/RequestFields.d.ts +40 -40
- package/lib/mjs/route-args/RequestFields.js +107 -107
- package/lib/mjs/route-args/RequestFields.js.map +1 -1
- package/lib/mjs/route-args/RouteArgs.d.ts +22 -22
- package/lib/mjs/route-args/RouteArgs.js +107 -107
- package/lib/mjs/route-args/RouteArgs.js.map +1 -1
- package/lib/mjs/route-args/index.d.ts +12 -12
- package/lib/mjs/route-args/index.js +12 -12
- package/lib/mjs/schemas/RouteArgsSchemas.d.ts +36 -36
- package/lib/mjs/schemas/RouteArgsSchemas.js +23 -23
- package/lib/mjs/server.d.ts +50 -50
- package/lib/mjs/server.js +266 -266
- package/lib/mjs/server.js.map +1 -1
- package/lib/mjs/transformers/PureTransformer.d.ts +9 -9
- package/lib/mjs/transformers/PureTransformer.js +24 -24
- package/lib/mjs/transformers/PureTransformer.js.map +1 -1
- package/lib/mjs/transformers/index.d.ts +1 -1
- package/lib/mjs/transformers/index.js +1 -1
- package/lib/mjs/uploaders/ImmediateFileUploader.d.ts +19 -0
- package/lib/mjs/uploaders/ImmediateFileUploader.d.ts.map +1 -0
- package/lib/mjs/uploaders/ImmediateFileUploader.js +66 -0
- package/lib/mjs/uploaders/ImmediateFileUploader.js.map +1 -0
- package/lib/tsconfig.cjs.tsbuildinfo +1 -1
- package/lib/tsconfig.mjs.tsbuildinfo +1 -1
- package/package.json +17 -17
|
@@ -1,108 +1,108 @@
|
|
|
1
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
-
};
|
|
7
|
-
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
-
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
-
};
|
|
10
|
-
import { DI, Autoinject, TypedArray, isClass } from '@spinajs/di';
|
|
11
|
-
import _ from 'lodash';
|
|
12
|
-
import { DataValidator } from '@spinajs/validation';
|
|
13
|
-
export class RouteArgs {
|
|
14
|
-
async tryHydrateParam(arg, routeParameter, route) {
|
|
15
|
-
let result = null;
|
|
16
|
-
let schema = null;
|
|
17
|
-
let hydrator = null;
|
|
18
|
-
// first validate route parameter / body params etc
|
|
19
|
-
if (route.Schema && route.Schema[routeParameter.Name]) {
|
|
20
|
-
schema = route.Schema[routeParameter.Name];
|
|
21
|
-
}
|
|
22
|
-
else if (routeParameter.Schema) {
|
|
23
|
-
schema = routeParameter.Schema;
|
|
24
|
-
}
|
|
25
|
-
else if (routeParameter.RouteParamSchema) {
|
|
26
|
-
schema = routeParameter.RouteParamSchema;
|
|
27
|
-
}
|
|
28
|
-
else {
|
|
29
|
-
schema = this.Validator.extractSchema(routeParameter.RuntimeType);
|
|
30
|
-
if (!schema && routeParameter.RuntimeType.prototype) {
|
|
31
|
-
schema = this.Validator.extractSchema(routeParameter.RuntimeType.prototype);
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
if (this.isRuntimeType(routeParameter)) {
|
|
35
|
-
result = this.fromRuntimeType(routeParameter, arg);
|
|
36
|
-
if (schema) {
|
|
37
|
-
this.Validator.validate(schema, result);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
hydrator = this.getHydrator(routeParameter);
|
|
42
|
-
result = hydrator ? arg : this.tryExtractObject(arg, routeParameter);
|
|
43
|
-
if (schema) {
|
|
44
|
-
this.Validator.validate(schema, arg);
|
|
45
|
-
}
|
|
46
|
-
if (hydrator) {
|
|
47
|
-
result = await this.tryHydrateObject(result, routeParameter, hydrator);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
return result;
|
|
51
|
-
}
|
|
52
|
-
async tryHydrateObject(arg, route, hydrator) {
|
|
53
|
-
const hInstance = await DI.resolve(hydrator.hydrator, hydrator.options);
|
|
54
|
-
return await hInstance.hydrate(arg, route);
|
|
55
|
-
}
|
|
56
|
-
getHydrator(param) {
|
|
57
|
-
let hydrator = null;
|
|
58
|
-
if (param.RuntimeType instanceof TypedArray) {
|
|
59
|
-
hydrator = Reflect.getMetadata('custom:arg_hydrator', param.RuntimeType.Type);
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
hydrator = Reflect.getMetadata('custom:arg_hydrator', param.RuntimeType);
|
|
63
|
-
}
|
|
64
|
-
return hydrator;
|
|
65
|
-
}
|
|
66
|
-
tryExtractObject(arg, param) {
|
|
67
|
-
if (isClass(param.RuntimeType)) {
|
|
68
|
-
return new param.RuntimeType(_.isString(arg) ? JSON.parse(arg) : arg);
|
|
69
|
-
}
|
|
70
|
-
else if (param.RuntimeType instanceof TypedArray) {
|
|
71
|
-
const type = param.RuntimeType.Type;
|
|
72
|
-
const arrData = _.isString(arg) ? JSON.parse(arg) : arg;
|
|
73
|
-
return arrData ? arrData.map((x) => new type(x)) : [];
|
|
74
|
-
}
|
|
75
|
-
else if (param.RuntimeType.name === 'Object' || param.RuntimeType.name === 'Array') {
|
|
76
|
-
return _.isString(arg) ? JSON.parse(arg) : arg;
|
|
77
|
-
}
|
|
78
|
-
return arg;
|
|
79
|
-
}
|
|
80
|
-
isRuntimeType(param) {
|
|
81
|
-
return ['String', 'Number', 'BigInt', 'Boolean', 'Undefined', 'Null'].indexOf(param.RuntimeType.name) !== -1;
|
|
82
|
-
}
|
|
83
|
-
fromRuntimeType(param, arg) {
|
|
84
|
-
switch (param.RuntimeType.name) {
|
|
85
|
-
// query params are always sent as strings, even numbers,
|
|
86
|
-
// we must try to parse them as integers / booleans / objects
|
|
87
|
-
case 'String':
|
|
88
|
-
return arg;
|
|
89
|
-
case 'Number':
|
|
90
|
-
return arg ? Number(arg) : undefined;
|
|
91
|
-
case 'BigInt':
|
|
92
|
-
return BigInt(arg);
|
|
93
|
-
case 'Boolean':
|
|
94
|
-
return arg ? (arg === 1 ? true : arg.toLowerCase() === 'true' ? true : false) : false;
|
|
95
|
-
case 'Undefined':
|
|
96
|
-
return undefined;
|
|
97
|
-
case 'Null':
|
|
98
|
-
return null;
|
|
99
|
-
default:
|
|
100
|
-
return new param.RuntimeType(_.isString(arg) ? JSON.parse(arg) : arg);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
__decorate([
|
|
105
|
-
Autoinject(),
|
|
106
|
-
__metadata("design:type", DataValidator)
|
|
107
|
-
], RouteArgs.prototype, "Validator", void 0);
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import { DI, Autoinject, TypedArray, isClass } from '@spinajs/di';
|
|
11
|
+
import _ from 'lodash';
|
|
12
|
+
import { DataValidator } from '@spinajs/validation';
|
|
13
|
+
export class RouteArgs {
|
|
14
|
+
async tryHydrateParam(arg, routeParameter, route) {
|
|
15
|
+
let result = null;
|
|
16
|
+
let schema = null;
|
|
17
|
+
let hydrator = null;
|
|
18
|
+
// first validate route parameter / body params etc
|
|
19
|
+
if (route.Schema && route.Schema[routeParameter.Name]) {
|
|
20
|
+
schema = route.Schema[routeParameter.Name];
|
|
21
|
+
}
|
|
22
|
+
else if (routeParameter.Schema) {
|
|
23
|
+
schema = routeParameter.Schema;
|
|
24
|
+
}
|
|
25
|
+
else if (routeParameter.RouteParamSchema) {
|
|
26
|
+
schema = routeParameter.RouteParamSchema;
|
|
27
|
+
}
|
|
28
|
+
else {
|
|
29
|
+
schema = this.Validator.extractSchema(routeParameter.RuntimeType);
|
|
30
|
+
if (!schema && routeParameter.RuntimeType.prototype) {
|
|
31
|
+
schema = this.Validator.extractSchema(routeParameter.RuntimeType.prototype);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
if (this.isRuntimeType(routeParameter)) {
|
|
35
|
+
result = this.fromRuntimeType(routeParameter, arg);
|
|
36
|
+
if (schema) {
|
|
37
|
+
this.Validator.validate(schema, result);
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
else {
|
|
41
|
+
hydrator = this.getHydrator(routeParameter);
|
|
42
|
+
result = hydrator ? arg : this.tryExtractObject(arg, routeParameter);
|
|
43
|
+
if (schema) {
|
|
44
|
+
this.Validator.validate(schema, arg);
|
|
45
|
+
}
|
|
46
|
+
if (hydrator) {
|
|
47
|
+
result = await this.tryHydrateObject(result, routeParameter, hydrator);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return result;
|
|
51
|
+
}
|
|
52
|
+
async tryHydrateObject(arg, route, hydrator) {
|
|
53
|
+
const hInstance = await DI.resolve(hydrator.hydrator, hydrator.options);
|
|
54
|
+
return await hInstance.hydrate(arg, route);
|
|
55
|
+
}
|
|
56
|
+
getHydrator(param) {
|
|
57
|
+
let hydrator = null;
|
|
58
|
+
if (param.RuntimeType instanceof TypedArray) {
|
|
59
|
+
hydrator = Reflect.getMetadata('custom:arg_hydrator', param.RuntimeType.Type);
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
hydrator = Reflect.getMetadata('custom:arg_hydrator', param.RuntimeType);
|
|
63
|
+
}
|
|
64
|
+
return hydrator;
|
|
65
|
+
}
|
|
66
|
+
tryExtractObject(arg, param) {
|
|
67
|
+
if (isClass(param.RuntimeType)) {
|
|
68
|
+
return new param.RuntimeType(_.isString(arg) ? JSON.parse(arg) : arg);
|
|
69
|
+
}
|
|
70
|
+
else if (param.RuntimeType instanceof TypedArray) {
|
|
71
|
+
const type = param.RuntimeType.Type;
|
|
72
|
+
const arrData = _.isString(arg) ? JSON.parse(arg) : arg;
|
|
73
|
+
return arrData ? arrData.map((x) => new type(x)) : [];
|
|
74
|
+
}
|
|
75
|
+
else if (param.RuntimeType.name === 'Object' || param.RuntimeType.name === 'Array') {
|
|
76
|
+
return _.isString(arg) ? JSON.parse(arg) : arg;
|
|
77
|
+
}
|
|
78
|
+
return arg;
|
|
79
|
+
}
|
|
80
|
+
isRuntimeType(param) {
|
|
81
|
+
return ['String', 'Number', 'BigInt', 'Boolean', 'Undefined', 'Null'].indexOf(param.RuntimeType.name) !== -1;
|
|
82
|
+
}
|
|
83
|
+
fromRuntimeType(param, arg) {
|
|
84
|
+
switch (param.RuntimeType.name) {
|
|
85
|
+
// query params are always sent as strings, even numbers,
|
|
86
|
+
// we must try to parse them as integers / booleans / objects
|
|
87
|
+
case 'String':
|
|
88
|
+
return arg;
|
|
89
|
+
case 'Number':
|
|
90
|
+
return arg ? Number(arg) : undefined;
|
|
91
|
+
case 'BigInt':
|
|
92
|
+
return BigInt(arg);
|
|
93
|
+
case 'Boolean':
|
|
94
|
+
return arg ? (arg === 1 ? true : arg.toLowerCase() === 'true' ? true : false) : false;
|
|
95
|
+
case 'Undefined':
|
|
96
|
+
return undefined;
|
|
97
|
+
case 'Null':
|
|
98
|
+
return null;
|
|
99
|
+
default:
|
|
100
|
+
return new param.RuntimeType(_.isString(arg) ? JSON.parse(arg) : arg);
|
|
101
|
+
}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
__decorate([
|
|
105
|
+
Autoinject(),
|
|
106
|
+
__metadata("design:type", DataValidator)
|
|
107
|
+
], RouteArgs.prototype, "Validator", void 0);
|
|
108
108
|
//# sourceMappingURL=RouteArgs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RouteArgs.js","sourceRoot":"","sources":["../../../src/route-args/RouteArgs.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"RouteArgs.js","sourceRoot":"","sources":["../../../src/route-args/RouteArgs.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export * from './ArgAsRequest.js';
|
|
2
|
-
export * from './ArgAsResponse.js';
|
|
3
|
-
export * from './ArgHydrator.js';
|
|
4
|
-
export * from './FromBody.js';
|
|
5
|
-
export * from './FromCookie.js';
|
|
6
|
-
export * from './FromDi.js';
|
|
7
|
-
export * from './FromForm.js';
|
|
8
|
-
export * from './FromHeaderArg.js';
|
|
9
|
-
export * from './FromParams.js';
|
|
10
|
-
export * from './FromQuery.js';
|
|
11
|
-
export * from './RouteArgs.js';
|
|
12
|
-
export * from './RequestFields.js';
|
|
1
|
+
export * from './ArgAsRequest.js';
|
|
2
|
+
export * from './ArgAsResponse.js';
|
|
3
|
+
export * from './ArgHydrator.js';
|
|
4
|
+
export * from './FromBody.js';
|
|
5
|
+
export * from './FromCookie.js';
|
|
6
|
+
export * from './FromDi.js';
|
|
7
|
+
export * from './FromForm.js';
|
|
8
|
+
export * from './FromHeaderArg.js';
|
|
9
|
+
export * from './FromParams.js';
|
|
10
|
+
export * from './FromQuery.js';
|
|
11
|
+
export * from './RouteArgs.js';
|
|
12
|
+
export * from './RequestFields.js';
|
|
13
13
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
export * from './ArgAsRequest.js';
|
|
2
|
-
export * from './ArgAsResponse.js';
|
|
3
|
-
export * from './ArgHydrator.js';
|
|
4
|
-
export * from './FromBody.js';
|
|
5
|
-
export * from './FromCookie.js';
|
|
6
|
-
export * from './FromDi.js';
|
|
7
|
-
export * from './FromForm.js';
|
|
8
|
-
export * from './FromHeaderArg.js';
|
|
9
|
-
export * from './FromParams.js';
|
|
10
|
-
export * from './FromQuery.js';
|
|
11
|
-
export * from './RouteArgs.js';
|
|
12
|
-
export * from './RequestFields.js';
|
|
1
|
+
export * from './ArgAsRequest.js';
|
|
2
|
+
export * from './ArgAsResponse.js';
|
|
3
|
+
export * from './ArgHydrator.js';
|
|
4
|
+
export * from './FromBody.js';
|
|
5
|
+
export * from './FromCookie.js';
|
|
6
|
+
export * from './FromDi.js';
|
|
7
|
+
export * from './FromForm.js';
|
|
8
|
+
export * from './FromHeaderArg.js';
|
|
9
|
+
export * from './FromParams.js';
|
|
10
|
+
export * from './FromQuery.js';
|
|
11
|
+
export * from './RouteArgs.js';
|
|
12
|
+
export * from './RequestFields.js';
|
|
13
13
|
//# sourceMappingURL=index.js.map
|
|
@@ -1,37 +1,37 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Default schema for common route parameters taken from url
|
|
3
|
-
*/
|
|
4
|
-
export declare const ROUTE_ARG_SCHEMA: {
|
|
5
|
-
Number: {
|
|
6
|
-
anyOf: ({
|
|
7
|
-
type: string;
|
|
8
|
-
pattern?: undefined;
|
|
9
|
-
} | {
|
|
10
|
-
type: string;
|
|
11
|
-
pattern: string;
|
|
12
|
-
})[];
|
|
13
|
-
};
|
|
14
|
-
String: {
|
|
15
|
-
type: string;
|
|
16
|
-
maxLength: number;
|
|
17
|
-
};
|
|
18
|
-
Boolean: {
|
|
19
|
-
anyOf: ({
|
|
20
|
-
type: string;
|
|
21
|
-
pattern?: undefined;
|
|
22
|
-
minimum?: undefined;
|
|
23
|
-
maximum?: undefined;
|
|
24
|
-
} | {
|
|
25
|
-
type: string;
|
|
26
|
-
pattern: string;
|
|
27
|
-
minimum?: undefined;
|
|
28
|
-
maximum?: undefined;
|
|
29
|
-
} | {
|
|
30
|
-
type: string;
|
|
31
|
-
minimum: number;
|
|
32
|
-
maximum: number;
|
|
33
|
-
pattern?: undefined;
|
|
34
|
-
})[];
|
|
35
|
-
};
|
|
36
|
-
};
|
|
1
|
+
/**
|
|
2
|
+
* Default schema for common route parameters taken from url
|
|
3
|
+
*/
|
|
4
|
+
export declare const ROUTE_ARG_SCHEMA: {
|
|
5
|
+
Number: {
|
|
6
|
+
anyOf: ({
|
|
7
|
+
type: string;
|
|
8
|
+
pattern?: undefined;
|
|
9
|
+
} | {
|
|
10
|
+
type: string;
|
|
11
|
+
pattern: string;
|
|
12
|
+
})[];
|
|
13
|
+
};
|
|
14
|
+
String: {
|
|
15
|
+
type: string;
|
|
16
|
+
maxLength: number;
|
|
17
|
+
};
|
|
18
|
+
Boolean: {
|
|
19
|
+
anyOf: ({
|
|
20
|
+
type: string;
|
|
21
|
+
pattern?: undefined;
|
|
22
|
+
minimum?: undefined;
|
|
23
|
+
maximum?: undefined;
|
|
24
|
+
} | {
|
|
25
|
+
type: string;
|
|
26
|
+
pattern: string;
|
|
27
|
+
minimum?: undefined;
|
|
28
|
+
maximum?: undefined;
|
|
29
|
+
} | {
|
|
30
|
+
type: string;
|
|
31
|
+
minimum: number;
|
|
32
|
+
maximum: number;
|
|
33
|
+
pattern?: undefined;
|
|
34
|
+
})[];
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
37
|
//# sourceMappingURL=RouteArgsSchemas.d.ts.map
|
|
@@ -1,24 +1,24 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Default schema for common route parameters taken from url
|
|
3
|
-
*/
|
|
4
|
-
export const ROUTE_ARG_SCHEMA = {
|
|
5
|
-
Number: {
|
|
6
|
-
anyOf: [
|
|
7
|
-
{
|
|
8
|
-
type: 'number',
|
|
9
|
-
},
|
|
10
|
-
{
|
|
11
|
-
type: 'string',
|
|
12
|
-
pattern: '^[0-9]+$',
|
|
13
|
-
},
|
|
14
|
-
],
|
|
15
|
-
},
|
|
16
|
-
String: {
|
|
17
|
-
type: 'string',
|
|
18
|
-
maxLength: 512,
|
|
19
|
-
},
|
|
20
|
-
Boolean: {
|
|
21
|
-
anyOf: [{ type: 'boolean' }, { type: 'string', pattern: '^true|false|0|1$' }, { type: 'integer', minimum: 0, maximum: 1 }],
|
|
22
|
-
},
|
|
23
|
-
};
|
|
1
|
+
/**
|
|
2
|
+
* Default schema for common route parameters taken from url
|
|
3
|
+
*/
|
|
4
|
+
export const ROUTE_ARG_SCHEMA = {
|
|
5
|
+
Number: {
|
|
6
|
+
anyOf: [
|
|
7
|
+
{
|
|
8
|
+
type: 'number',
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
type: 'string',
|
|
12
|
+
pattern: '^[0-9]+$',
|
|
13
|
+
},
|
|
14
|
+
],
|
|
15
|
+
},
|
|
16
|
+
String: {
|
|
17
|
+
type: 'string',
|
|
18
|
+
maxLength: 512,
|
|
19
|
+
},
|
|
20
|
+
Boolean: {
|
|
21
|
+
anyOf: [{ type: 'boolean' }, { type: 'string', pattern: '^true|false|0|1$' }, { type: 'integer', minimum: 0, maximum: 1 }],
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
24
|
//# sourceMappingURL=RouteArgsSchemas.js.map
|
package/lib/mjs/server.d.ts
CHANGED
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
-
import { AsyncService, IContainer } from '@spinajs/di';
|
|
3
|
-
import { Configuration } from '@spinajs/configuration';
|
|
4
|
-
import { Log } from '@spinajs/log';
|
|
5
|
-
import '@spinajs/templates-pug';
|
|
6
|
-
import { Server } from 'http';
|
|
7
|
-
import Express, { RequestHandler } from 'express';
|
|
8
|
-
import { ServerMiddleware } from './interfaces.js';
|
|
9
|
-
import './transformers/index.js';
|
|
10
|
-
import './middlewares/ResponseTime.js';
|
|
11
|
-
import './middlewares/RequestId.js';
|
|
12
|
-
import './middlewares/RealIp.js';
|
|
13
|
-
export declare class HttpServer extends AsyncService {
|
|
14
|
-
protected Configuration: Configuration;
|
|
15
|
-
protected Container: IContainer;
|
|
16
|
-
protected Middlewares: ServerMiddleware[];
|
|
17
|
-
/**
|
|
18
|
-
* Express app instance
|
|
19
|
-
*/
|
|
20
|
-
protected Express: Express.Express;
|
|
21
|
-
/**
|
|
22
|
-
* Http socket server
|
|
23
|
-
*/
|
|
24
|
-
protected Server: Server;
|
|
25
|
-
/**
|
|
26
|
-
* Logger for this module
|
|
27
|
-
*/
|
|
28
|
-
protected Log: Log;
|
|
29
|
-
constructor();
|
|
30
|
-
resolve(): Promise<void>;
|
|
31
|
-
/**
|
|
32
|
-
* Starts http server & express
|
|
33
|
-
*/
|
|
34
|
-
start(): Promise<void>;
|
|
35
|
-
stop(): void;
|
|
36
|
-
/**
|
|
37
|
-
* Registers global middleware to express app
|
|
38
|
-
*
|
|
39
|
-
* @param middleware - middleware function
|
|
40
|
-
*/
|
|
41
|
-
use(middleware: RequestHandler): void;
|
|
42
|
-
/**
|
|
43
|
-
* Executes response
|
|
44
|
-
*/
|
|
45
|
-
protected handleResponse(): void;
|
|
46
|
-
/**
|
|
47
|
-
* Handles thrown exceptions in actions.
|
|
48
|
-
*/
|
|
49
|
-
protected handleErrors(): void;
|
|
50
|
-
}
|
|
1
|
+
/// <reference types="node" resolution-mode="require"/>
|
|
2
|
+
import { AsyncService, IContainer } from '@spinajs/di';
|
|
3
|
+
import { Configuration } from '@spinajs/configuration';
|
|
4
|
+
import { Log } from '@spinajs/log';
|
|
5
|
+
import '@spinajs/templates-pug';
|
|
6
|
+
import { Server } from 'http';
|
|
7
|
+
import Express, { RequestHandler } from 'express';
|
|
8
|
+
import { ServerMiddleware } from './interfaces.js';
|
|
9
|
+
import './transformers/index.js';
|
|
10
|
+
import './middlewares/ResponseTime.js';
|
|
11
|
+
import './middlewares/RequestId.js';
|
|
12
|
+
import './middlewares/RealIp.js';
|
|
13
|
+
export declare class HttpServer extends AsyncService {
|
|
14
|
+
protected Configuration: Configuration;
|
|
15
|
+
protected Container: IContainer;
|
|
16
|
+
protected Middlewares: ServerMiddleware[];
|
|
17
|
+
/**
|
|
18
|
+
* Express app instance
|
|
19
|
+
*/
|
|
20
|
+
protected Express: Express.Express;
|
|
21
|
+
/**
|
|
22
|
+
* Http socket server
|
|
23
|
+
*/
|
|
24
|
+
protected Server: Server;
|
|
25
|
+
/**
|
|
26
|
+
* Logger for this module
|
|
27
|
+
*/
|
|
28
|
+
protected Log: Log;
|
|
29
|
+
constructor();
|
|
30
|
+
resolve(): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Starts http server & express
|
|
33
|
+
*/
|
|
34
|
+
start(): Promise<void>;
|
|
35
|
+
stop(): void;
|
|
36
|
+
/**
|
|
37
|
+
* Registers global middleware to express app
|
|
38
|
+
*
|
|
39
|
+
* @param middleware - middleware function
|
|
40
|
+
*/
|
|
41
|
+
use(middleware: RequestHandler): void;
|
|
42
|
+
/**
|
|
43
|
+
* Executes response
|
|
44
|
+
*/
|
|
45
|
+
protected handleResponse(): void;
|
|
46
|
+
/**
|
|
47
|
+
* Handles thrown exceptions in actions.
|
|
48
|
+
*/
|
|
49
|
+
protected handleErrors(): void;
|
|
50
|
+
}
|
|
51
51
|
//# sourceMappingURL=server.d.ts.map
|