@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.
Files changed (247) hide show
  1. package/lib/cjs/bootstrap.d.ts +4 -4
  2. package/lib/cjs/bootstrap.js +29 -29
  3. package/lib/cjs/bootstrap.js.map +1 -1
  4. package/lib/cjs/config/http.d.ts +58 -58
  5. package/lib/cjs/config/http.js +86 -86
  6. package/lib/cjs/controllers.d.ts +48 -48
  7. package/lib/cjs/controllers.d.ts.map +1 -1
  8. package/lib/cjs/controllers.js +307 -312
  9. package/lib/cjs/controllers.js.map +1 -1
  10. package/lib/cjs/decorators.d.ts +183 -183
  11. package/lib/cjs/decorators.js +441 -441
  12. package/lib/cjs/hydrators/DateTimeHydrator.d.ts +5 -5
  13. package/lib/cjs/hydrators/DateTimeHydrator.js +36 -36
  14. package/lib/cjs/hydrators/DateTimeHydrator.js.map +1 -1
  15. package/lib/cjs/index.d.ts +9 -9
  16. package/lib/cjs/index.js +25 -25
  17. package/lib/cjs/interfaces.d.ts +569 -550
  18. package/lib/cjs/interfaces.d.ts.map +1 -1
  19. package/lib/cjs/interfaces.js +266 -259
  20. package/lib/cjs/interfaces.js.map +1 -1
  21. package/lib/cjs/middlewares/RealIp.d.ts +8 -8
  22. package/lib/cjs/middlewares/RealIp.js +34 -34
  23. package/lib/cjs/middlewares/RealIp.js.map +1 -1
  24. package/lib/cjs/middlewares/RequestId.d.ts +8 -8
  25. package/lib/cjs/middlewares/RequestId.js +35 -35
  26. package/lib/cjs/middlewares/RequestId.js.map +1 -1
  27. package/lib/cjs/middlewares/ResponseTime.d.ts +10 -10
  28. package/lib/cjs/middlewares/ResponseTime.js +41 -41
  29. package/lib/cjs/middlewares/ResponseTime.js.map +1 -1
  30. package/lib/cjs/response-methods/badRequest.d.ts +12 -12
  31. package/lib/cjs/response-methods/badRequest.js +20 -20
  32. package/lib/cjs/response-methods/conflict.d.ts +12 -12
  33. package/lib/cjs/response-methods/conflict.js +20 -20
  34. package/lib/cjs/response-methods/cookieResponse.d.ts +19 -19
  35. package/lib/cjs/response-methods/cookieResponse.js +73 -73
  36. package/lib/cjs/response-methods/created.d.ts +12 -12
  37. package/lib/cjs/response-methods/created.js +19 -19
  38. package/lib/cjs/response-methods/errorResponse.d.ts +7 -7
  39. package/lib/cjs/response-methods/errorResponse.js +24 -24
  40. package/lib/cjs/response-methods/file.d.ts +26 -26
  41. package/lib/cjs/response-methods/file.d.ts.map +1 -1
  42. package/lib/cjs/response-methods/file.js +112 -133
  43. package/lib/cjs/response-methods/file.js.map +1 -1
  44. package/lib/cjs/response-methods/forbidden.d.ts +12 -12
  45. package/lib/cjs/response-methods/forbidden.js +20 -20
  46. package/lib/cjs/response-methods/index.d.ts +13 -13
  47. package/lib/cjs/response-methods/index.js +29 -29
  48. package/lib/cjs/response-methods/noContent.d.ts +12 -12
  49. package/lib/cjs/response-methods/noContent.js +20 -20
  50. package/lib/cjs/response-methods/notAcceptable.d.ts +13 -13
  51. package/lib/cjs/response-methods/notAcceptable.js +21 -21
  52. package/lib/cjs/response-methods/notAllowed.d.ts +12 -12
  53. package/lib/cjs/response-methods/notAllowed.js +20 -20
  54. package/lib/cjs/response-methods/notFound.d.ts +12 -12
  55. package/lib/cjs/response-methods/notFound.js +20 -20
  56. package/lib/cjs/response-methods/ok.d.ts +12 -12
  57. package/lib/cjs/response-methods/ok.js +19 -19
  58. package/lib/cjs/response-methods/redirect.d.ts +12 -12
  59. package/lib/cjs/response-methods/redirect.js +19 -19
  60. package/lib/cjs/response-methods/serverError.d.ts +12 -12
  61. package/lib/cjs/response-methods/serverError.js +20 -20
  62. package/lib/cjs/response-methods/template.d.ts +15 -15
  63. package/lib/cjs/response-methods/template.js +36 -36
  64. package/lib/cjs/response-methods/unauthorized.d.ts +12 -12
  65. package/lib/cjs/response-methods/unauthorized.js +20 -20
  66. package/lib/cjs/response-methods/validationError.d.ts +12 -12
  67. package/lib/cjs/response-methods/validationError.js +20 -20
  68. package/lib/cjs/responses.d.ts +34 -34
  69. package/lib/cjs/responses.js +173 -173
  70. package/lib/cjs/route-args/ArgAsRequest.d.ts +11 -11
  71. package/lib/cjs/route-args/ArgAsRequest.js +24 -24
  72. package/lib/cjs/route-args/ArgAsRequest.js.map +1 -1
  73. package/lib/cjs/route-args/ArgAsResponse.d.ts +10 -10
  74. package/lib/cjs/route-args/ArgAsResponse.js +24 -24
  75. package/lib/cjs/route-args/ArgAsResponse.js.map +1 -1
  76. package/lib/cjs/route-args/ArgHydrator.d.ts +4 -4
  77. package/lib/cjs/route-args/ArgHydrator.js +6 -6
  78. package/lib/cjs/route-args/FromBody.d.ts +10 -10
  79. package/lib/cjs/route-args/FromBody.js +26 -26
  80. package/lib/cjs/route-args/FromBody.js.map +1 -1
  81. package/lib/cjs/route-args/FromCookie.d.ts +13 -13
  82. package/lib/cjs/route-args/FromCookie.js +72 -72
  83. package/lib/cjs/route-args/FromCookie.js.map +1 -1
  84. package/lib/cjs/route-args/FromDi.d.ts +13 -13
  85. package/lib/cjs/route-args/FromDi.js +35 -35
  86. package/lib/cjs/route-args/FromDi.js.map +1 -1
  87. package/lib/cjs/route-args/FromForm.d.ts +66 -92
  88. package/lib/cjs/route-args/FromForm.d.ts.map +1 -1
  89. package/lib/cjs/route-args/FromForm.js +214 -291
  90. package/lib/cjs/route-args/FromForm.js.map +1 -1
  91. package/lib/cjs/route-args/FromHeaderArg.d.ts +10 -10
  92. package/lib/cjs/route-args/FromHeaderArg.js +25 -25
  93. package/lib/cjs/route-args/FromHeaderArg.js.map +1 -1
  94. package/lib/cjs/route-args/FromParams.d.ts +10 -10
  95. package/lib/cjs/route-args/FromParams.js +27 -27
  96. package/lib/cjs/route-args/FromParams.js.map +1 -1
  97. package/lib/cjs/route-args/FromQuery.d.ts +10 -10
  98. package/lib/cjs/route-args/FromQuery.js +27 -27
  99. package/lib/cjs/route-args/FromQuery.js.map +1 -1
  100. package/lib/cjs/route-args/RequestFields.d.ts +40 -40
  101. package/lib/cjs/route-args/RequestFields.js +110 -110
  102. package/lib/cjs/route-args/RequestFields.js.map +1 -1
  103. package/lib/cjs/route-args/RouteArgs.d.ts +22 -22
  104. package/lib/cjs/route-args/RouteArgs.js +114 -114
  105. package/lib/cjs/route-args/RouteArgs.js.map +1 -1
  106. package/lib/cjs/route-args/index.d.ts +12 -12
  107. package/lib/cjs/route-args/index.js +28 -28
  108. package/lib/cjs/schemas/RouteArgsSchemas.d.ts +36 -36
  109. package/lib/cjs/schemas/RouteArgsSchemas.js +26 -26
  110. package/lib/cjs/server.d.ts +50 -50
  111. package/lib/cjs/server.js +272 -272
  112. package/lib/cjs/server.js.map +1 -1
  113. package/lib/cjs/transformers/PureTransformer.d.ts +9 -9
  114. package/lib/cjs/transformers/PureTransformer.js +27 -27
  115. package/lib/cjs/transformers/PureTransformer.js.map +1 -1
  116. package/lib/cjs/transformers/index.d.ts +1 -1
  117. package/lib/cjs/transformers/index.js +17 -17
  118. package/lib/cjs/uploaders/ImmediateFileUploader.d.ts +19 -0
  119. package/lib/cjs/uploaders/ImmediateFileUploader.d.ts.map +1 -0
  120. package/lib/cjs/uploaders/ImmediateFileUploader.js +69 -0
  121. package/lib/cjs/uploaders/ImmediateFileUploader.js.map +1 -0
  122. package/lib/mjs/bootstrap.d.ts +4 -4
  123. package/lib/mjs/bootstrap.js +26 -26
  124. package/lib/mjs/bootstrap.js.map +1 -1
  125. package/lib/mjs/config/http.d.ts +58 -58
  126. package/lib/mjs/config/http.js +81 -81
  127. package/lib/mjs/controllers.d.ts +48 -48
  128. package/lib/mjs/controllers.d.ts.map +1 -1
  129. package/lib/mjs/controllers.js +276 -281
  130. package/lib/mjs/controllers.js.map +1 -1
  131. package/lib/mjs/decorators.d.ts +183 -183
  132. package/lib/mjs/decorators.js +404 -404
  133. package/lib/mjs/exceptions.d.ts +1 -1
  134. package/lib/mjs/exceptions.js +1 -1
  135. package/lib/mjs/hydrators/DateTimeHydrator.d.ts +5 -5
  136. package/lib/mjs/hydrators/DateTimeHydrator.js +30 -30
  137. package/lib/mjs/hydrators/DateTimeHydrator.js.map +1 -1
  138. package/lib/mjs/index.d.ts +9 -9
  139. package/lib/mjs/index.js +9 -9
  140. package/lib/mjs/interfaces.d.ts +569 -550
  141. package/lib/mjs/interfaces.d.ts.map +1 -1
  142. package/lib/mjs/interfaces.js +257 -251
  143. package/lib/mjs/interfaces.js.map +1 -1
  144. package/lib/mjs/middlewares/RealIp.d.ts +8 -8
  145. package/lib/mjs/middlewares/RealIp.js +31 -31
  146. package/lib/mjs/middlewares/RealIp.js.map +1 -1
  147. package/lib/mjs/middlewares/RequestId.d.ts +8 -8
  148. package/lib/mjs/middlewares/RequestId.js +32 -32
  149. package/lib/mjs/middlewares/RequestId.js.map +1 -1
  150. package/lib/mjs/middlewares/ResponseTime.d.ts +10 -10
  151. package/lib/mjs/middlewares/ResponseTime.js +38 -38
  152. package/lib/mjs/middlewares/ResponseTime.js.map +1 -1
  153. package/lib/mjs/response-methods/badRequest.d.ts +12 -12
  154. package/lib/mjs/response-methods/badRequest.js +16 -16
  155. package/lib/mjs/response-methods/conflict.d.ts +12 -12
  156. package/lib/mjs/response-methods/conflict.js +16 -16
  157. package/lib/mjs/response-methods/cookieResponse.d.ts +19 -19
  158. package/lib/mjs/response-methods/cookieResponse.js +46 -46
  159. package/lib/mjs/response-methods/created.d.ts +12 -12
  160. package/lib/mjs/response-methods/created.js +15 -15
  161. package/lib/mjs/response-methods/errorResponse.d.ts +7 -7
  162. package/lib/mjs/response-methods/errorResponse.js +17 -17
  163. package/lib/mjs/response-methods/file.d.ts +26 -26
  164. package/lib/mjs/response-methods/file.d.ts.map +1 -1
  165. package/lib/mjs/response-methods/file.js +103 -124
  166. package/lib/mjs/response-methods/file.js.map +1 -1
  167. package/lib/mjs/response-methods/forbidden.d.ts +12 -12
  168. package/lib/mjs/response-methods/forbidden.js +16 -16
  169. package/lib/mjs/response-methods/index.d.ts +13 -13
  170. package/lib/mjs/response-methods/index.js +13 -13
  171. package/lib/mjs/response-methods/noContent.d.ts +12 -12
  172. package/lib/mjs/response-methods/noContent.js +16 -16
  173. package/lib/mjs/response-methods/notAcceptable.d.ts +13 -13
  174. package/lib/mjs/response-methods/notAcceptable.js +17 -17
  175. package/lib/mjs/response-methods/notAllowed.d.ts +12 -12
  176. package/lib/mjs/response-methods/notAllowed.js +16 -16
  177. package/lib/mjs/response-methods/notFound.d.ts +12 -12
  178. package/lib/mjs/response-methods/notFound.js +16 -16
  179. package/lib/mjs/response-methods/ok.d.ts +12 -12
  180. package/lib/mjs/response-methods/ok.js +15 -15
  181. package/lib/mjs/response-methods/redirect.d.ts +12 -12
  182. package/lib/mjs/response-methods/redirect.js +15 -15
  183. package/lib/mjs/response-methods/serverError.d.ts +12 -12
  184. package/lib/mjs/response-methods/serverError.js +16 -16
  185. package/lib/mjs/response-methods/template.d.ts +15 -15
  186. package/lib/mjs/response-methods/template.js +29 -29
  187. package/lib/mjs/response-methods/unauthorized.d.ts +12 -12
  188. package/lib/mjs/response-methods/unauthorized.js +16 -16
  189. package/lib/mjs/response-methods/validationError.d.ts +12 -12
  190. package/lib/mjs/response-methods/validationError.js +16 -16
  191. package/lib/mjs/responses.d.ts +34 -34
  192. package/lib/mjs/responses.js +143 -143
  193. package/lib/mjs/route-args/ArgAsRequest.d.ts +11 -11
  194. package/lib/mjs/route-args/ArgAsRequest.js +21 -21
  195. package/lib/mjs/route-args/ArgAsRequest.js.map +1 -1
  196. package/lib/mjs/route-args/ArgAsResponse.d.ts +10 -10
  197. package/lib/mjs/route-args/ArgAsResponse.js +21 -21
  198. package/lib/mjs/route-args/ArgAsResponse.js.map +1 -1
  199. package/lib/mjs/route-args/ArgHydrator.d.ts +4 -4
  200. package/lib/mjs/route-args/ArgHydrator.js +2 -2
  201. package/lib/mjs/route-args/FromBody.d.ts +10 -10
  202. package/lib/mjs/route-args/FromBody.js +23 -23
  203. package/lib/mjs/route-args/FromBody.js.map +1 -1
  204. package/lib/mjs/route-args/FromCookie.d.ts +13 -13
  205. package/lib/mjs/route-args/FromCookie.js +46 -46
  206. package/lib/mjs/route-args/FromCookie.js.map +1 -1
  207. package/lib/mjs/route-args/FromDi.d.ts +13 -13
  208. package/lib/mjs/route-args/FromDi.js +32 -32
  209. package/lib/mjs/route-args/FromDi.js.map +1 -1
  210. package/lib/mjs/route-args/FromForm.d.ts +66 -92
  211. package/lib/mjs/route-args/FromForm.d.ts.map +1 -1
  212. package/lib/mjs/route-args/FromForm.js +210 -284
  213. package/lib/mjs/route-args/FromForm.js.map +1 -1
  214. package/lib/mjs/route-args/FromHeaderArg.d.ts +10 -10
  215. package/lib/mjs/route-args/FromHeaderArg.js +22 -22
  216. package/lib/mjs/route-args/FromHeaderArg.js.map +1 -1
  217. package/lib/mjs/route-args/FromParams.d.ts +10 -10
  218. package/lib/mjs/route-args/FromParams.js +24 -24
  219. package/lib/mjs/route-args/FromParams.js.map +1 -1
  220. package/lib/mjs/route-args/FromQuery.d.ts +10 -10
  221. package/lib/mjs/route-args/FromQuery.js +24 -24
  222. package/lib/mjs/route-args/FromQuery.js.map +1 -1
  223. package/lib/mjs/route-args/RequestFields.d.ts +40 -40
  224. package/lib/mjs/route-args/RequestFields.js +107 -107
  225. package/lib/mjs/route-args/RequestFields.js.map +1 -1
  226. package/lib/mjs/route-args/RouteArgs.d.ts +22 -22
  227. package/lib/mjs/route-args/RouteArgs.js +107 -107
  228. package/lib/mjs/route-args/RouteArgs.js.map +1 -1
  229. package/lib/mjs/route-args/index.d.ts +12 -12
  230. package/lib/mjs/route-args/index.js +12 -12
  231. package/lib/mjs/schemas/RouteArgsSchemas.d.ts +36 -36
  232. package/lib/mjs/schemas/RouteArgsSchemas.js +23 -23
  233. package/lib/mjs/server.d.ts +50 -50
  234. package/lib/mjs/server.js +266 -266
  235. package/lib/mjs/server.js.map +1 -1
  236. package/lib/mjs/transformers/PureTransformer.d.ts +9 -9
  237. package/lib/mjs/transformers/PureTransformer.js +24 -24
  238. package/lib/mjs/transformers/PureTransformer.js.map +1 -1
  239. package/lib/mjs/transformers/index.d.ts +1 -1
  240. package/lib/mjs/transformers/index.js +1 -1
  241. package/lib/mjs/uploaders/ImmediateFileUploader.d.ts +19 -0
  242. package/lib/mjs/uploaders/ImmediateFileUploader.d.ts.map +1 -0
  243. package/lib/mjs/uploaders/ImmediateFileUploader.js +66 -0
  244. package/lib/mjs/uploaders/ImmediateFileUploader.js.map +1 -0
  245. package/lib/tsconfig.cjs.tsbuildinfo +1 -1
  246. package/lib/tsconfig.mjs.tsbuildinfo +1 -1
  247. package/package.json +17 -17
@@ -1,115 +1,115 @@
1
- "use strict";
2
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
- 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;
6
- return c > 3 && r && Object.defineProperty(target, key, r), r;
7
- };
8
- var __metadata = (this && this.__metadata) || function (k, v) {
9
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
- };
11
- var __importDefault = (this && this.__importDefault) || function (mod) {
12
- return (mod && mod.__esModule) ? mod : { "default": mod };
13
- };
14
- Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.RouteArgs = void 0;
16
- const di_1 = require("@spinajs/di");
17
- const lodash_1 = __importDefault(require("lodash"));
18
- const validation_1 = require("@spinajs/validation");
19
- class RouteArgs {
20
- async tryHydrateParam(arg, routeParameter, route) {
21
- let result = null;
22
- let schema = null;
23
- let hydrator = null;
24
- // first validate route parameter / body params etc
25
- if (route.Schema && route.Schema[routeParameter.Name]) {
26
- schema = route.Schema[routeParameter.Name];
27
- }
28
- else if (routeParameter.Schema) {
29
- schema = routeParameter.Schema;
30
- }
31
- else if (routeParameter.RouteParamSchema) {
32
- schema = routeParameter.RouteParamSchema;
33
- }
34
- else {
35
- schema = this.Validator.extractSchema(routeParameter.RuntimeType);
36
- if (!schema && routeParameter.RuntimeType.prototype) {
37
- schema = this.Validator.extractSchema(routeParameter.RuntimeType.prototype);
38
- }
39
- }
40
- if (this.isRuntimeType(routeParameter)) {
41
- result = this.fromRuntimeType(routeParameter, arg);
42
- if (schema) {
43
- this.Validator.validate(schema, result);
44
- }
45
- }
46
- else {
47
- hydrator = this.getHydrator(routeParameter);
48
- result = hydrator ? arg : this.tryExtractObject(arg, routeParameter);
49
- if (schema) {
50
- this.Validator.validate(schema, arg);
51
- }
52
- if (hydrator) {
53
- result = await this.tryHydrateObject(result, routeParameter, hydrator);
54
- }
55
- }
56
- return result;
57
- }
58
- async tryHydrateObject(arg, route, hydrator) {
59
- const hInstance = await di_1.DI.resolve(hydrator.hydrator, hydrator.options);
60
- return await hInstance.hydrate(arg, route);
61
- }
62
- getHydrator(param) {
63
- let hydrator = null;
64
- if (param.RuntimeType instanceof di_1.TypedArray) {
65
- hydrator = Reflect.getMetadata('custom:arg_hydrator', param.RuntimeType.Type);
66
- }
67
- else {
68
- hydrator = Reflect.getMetadata('custom:arg_hydrator', param.RuntimeType);
69
- }
70
- return hydrator;
71
- }
72
- tryExtractObject(arg, param) {
73
- if ((0, di_1.isClass)(param.RuntimeType)) {
74
- return new param.RuntimeType(lodash_1.default.isString(arg) ? JSON.parse(arg) : arg);
75
- }
76
- else if (param.RuntimeType instanceof di_1.TypedArray) {
77
- const type = param.RuntimeType.Type;
78
- const arrData = lodash_1.default.isString(arg) ? JSON.parse(arg) : arg;
79
- return arrData ? arrData.map((x) => new type(x)) : [];
80
- }
81
- else if (param.RuntimeType.name === 'Object' || param.RuntimeType.name === 'Array') {
82
- return lodash_1.default.isString(arg) ? JSON.parse(arg) : arg;
83
- }
84
- return arg;
85
- }
86
- isRuntimeType(param) {
87
- return ['String', 'Number', 'BigInt', 'Boolean', 'Undefined', 'Null'].indexOf(param.RuntimeType.name) !== -1;
88
- }
89
- fromRuntimeType(param, arg) {
90
- switch (param.RuntimeType.name) {
91
- // query params are always sent as strings, even numbers,
92
- // we must try to parse them as integers / booleans / objects
93
- case 'String':
94
- return arg;
95
- case 'Number':
96
- return arg ? Number(arg) : undefined;
97
- case 'BigInt':
98
- return BigInt(arg);
99
- case 'Boolean':
100
- return arg ? (arg === 1 ? true : arg.toLowerCase() === 'true' ? true : false) : false;
101
- case 'Undefined':
102
- return undefined;
103
- case 'Null':
104
- return null;
105
- default:
106
- return new param.RuntimeType(lodash_1.default.isString(arg) ? JSON.parse(arg) : arg);
107
- }
108
- }
109
- }
110
- __decorate([
111
- (0, di_1.Autoinject)(),
112
- __metadata("design:type", validation_1.DataValidator)
113
- ], RouteArgs.prototype, "Validator", void 0);
114
- exports.RouteArgs = RouteArgs;
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ 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;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ exports.RouteArgs = void 0;
16
+ const di_1 = require("@spinajs/di");
17
+ const lodash_1 = __importDefault(require("lodash"));
18
+ const validation_1 = require("@spinajs/validation");
19
+ class RouteArgs {
20
+ async tryHydrateParam(arg, routeParameter, route) {
21
+ let result = null;
22
+ let schema = null;
23
+ let hydrator = null;
24
+ // first validate route parameter / body params etc
25
+ if (route.Schema && route.Schema[routeParameter.Name]) {
26
+ schema = route.Schema[routeParameter.Name];
27
+ }
28
+ else if (routeParameter.Schema) {
29
+ schema = routeParameter.Schema;
30
+ }
31
+ else if (routeParameter.RouteParamSchema) {
32
+ schema = routeParameter.RouteParamSchema;
33
+ }
34
+ else {
35
+ schema = this.Validator.extractSchema(routeParameter.RuntimeType);
36
+ if (!schema && routeParameter.RuntimeType.prototype) {
37
+ schema = this.Validator.extractSchema(routeParameter.RuntimeType.prototype);
38
+ }
39
+ }
40
+ if (this.isRuntimeType(routeParameter)) {
41
+ result = this.fromRuntimeType(routeParameter, arg);
42
+ if (schema) {
43
+ this.Validator.validate(schema, result);
44
+ }
45
+ }
46
+ else {
47
+ hydrator = this.getHydrator(routeParameter);
48
+ result = hydrator ? arg : this.tryExtractObject(arg, routeParameter);
49
+ if (schema) {
50
+ this.Validator.validate(schema, arg);
51
+ }
52
+ if (hydrator) {
53
+ result = await this.tryHydrateObject(result, routeParameter, hydrator);
54
+ }
55
+ }
56
+ return result;
57
+ }
58
+ async tryHydrateObject(arg, route, hydrator) {
59
+ const hInstance = await di_1.DI.resolve(hydrator.hydrator, hydrator.options);
60
+ return await hInstance.hydrate(arg, route);
61
+ }
62
+ getHydrator(param) {
63
+ let hydrator = null;
64
+ if (param.RuntimeType instanceof di_1.TypedArray) {
65
+ hydrator = Reflect.getMetadata('custom:arg_hydrator', param.RuntimeType.Type);
66
+ }
67
+ else {
68
+ hydrator = Reflect.getMetadata('custom:arg_hydrator', param.RuntimeType);
69
+ }
70
+ return hydrator;
71
+ }
72
+ tryExtractObject(arg, param) {
73
+ if ((0, di_1.isClass)(param.RuntimeType)) {
74
+ return new param.RuntimeType(lodash_1.default.isString(arg) ? JSON.parse(arg) : arg);
75
+ }
76
+ else if (param.RuntimeType instanceof di_1.TypedArray) {
77
+ const type = param.RuntimeType.Type;
78
+ const arrData = lodash_1.default.isString(arg) ? JSON.parse(arg) : arg;
79
+ return arrData ? arrData.map((x) => new type(x)) : [];
80
+ }
81
+ else if (param.RuntimeType.name === 'Object' || param.RuntimeType.name === 'Array') {
82
+ return lodash_1.default.isString(arg) ? JSON.parse(arg) : arg;
83
+ }
84
+ return arg;
85
+ }
86
+ isRuntimeType(param) {
87
+ return ['String', 'Number', 'BigInt', 'Boolean', 'Undefined', 'Null'].indexOf(param.RuntimeType.name) !== -1;
88
+ }
89
+ fromRuntimeType(param, arg) {
90
+ switch (param.RuntimeType.name) {
91
+ // query params are always sent as strings, even numbers,
92
+ // we must try to parse them as integers / booleans / objects
93
+ case 'String':
94
+ return arg;
95
+ case 'Number':
96
+ return arg ? Number(arg) : undefined;
97
+ case 'BigInt':
98
+ return BigInt(arg);
99
+ case 'Boolean':
100
+ return arg ? (arg === 1 ? true : arg.toLowerCase() === 'true' ? true : false) : false;
101
+ case 'Undefined':
102
+ return undefined;
103
+ case 'Null':
104
+ return null;
105
+ default:
106
+ return new param.RuntimeType(lodash_1.default.isString(arg) ? JSON.parse(arg) : arg);
107
+ }
108
+ }
109
+ }
110
+ exports.RouteArgs = RouteArgs;
111
+ __decorate([
112
+ (0, di_1.Autoinject)(),
113
+ __metadata("design:type", validation_1.DataValidator)
114
+ ], RouteArgs.prototype, "Validator", void 0);
115
115
  //# 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,29 +1,29 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./ArgAsRequest.js"), exports);
18
- __exportStar(require("./ArgAsResponse.js"), exports);
19
- __exportStar(require("./ArgHydrator.js"), exports);
20
- __exportStar(require("./FromBody.js"), exports);
21
- __exportStar(require("./FromCookie.js"), exports);
22
- __exportStar(require("./FromDi.js"), exports);
23
- __exportStar(require("./FromForm.js"), exports);
24
- __exportStar(require("./FromHeaderArg.js"), exports);
25
- __exportStar(require("./FromParams.js"), exports);
26
- __exportStar(require("./FromQuery.js"), exports);
27
- __exportStar(require("./RouteArgs.js"), exports);
28
- __exportStar(require("./RequestFields.js"), exports);
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ __exportStar(require("./ArgAsRequest.js"), exports);
18
+ __exportStar(require("./ArgAsResponse.js"), exports);
19
+ __exportStar(require("./ArgHydrator.js"), exports);
20
+ __exportStar(require("./FromBody.js"), exports);
21
+ __exportStar(require("./FromCookie.js"), exports);
22
+ __exportStar(require("./FromDi.js"), exports);
23
+ __exportStar(require("./FromForm.js"), exports);
24
+ __exportStar(require("./FromHeaderArg.js"), exports);
25
+ __exportStar(require("./FromParams.js"), exports);
26
+ __exportStar(require("./FromQuery.js"), exports);
27
+ __exportStar(require("./RouteArgs.js"), exports);
28
+ __exportStar(require("./RequestFields.js"), exports);
29
29
  //# 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,27 +1,27 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ROUTE_ARG_SCHEMA = void 0;
4
- /**
5
- * Default schema for common route parameters taken from url
6
- */
7
- exports.ROUTE_ARG_SCHEMA = {
8
- Number: {
9
- anyOf: [
10
- {
11
- type: 'number',
12
- },
13
- {
14
- type: 'string',
15
- pattern: '^[0-9]+$',
16
- },
17
- ],
18
- },
19
- String: {
20
- type: 'string',
21
- maxLength: 512,
22
- },
23
- Boolean: {
24
- anyOf: [{ type: 'boolean' }, { type: 'string', pattern: '^true|false|0|1$' }, { type: 'integer', minimum: 0, maximum: 1 }],
25
- },
26
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ROUTE_ARG_SCHEMA = void 0;
4
+ /**
5
+ * Default schema for common route parameters taken from url
6
+ */
7
+ exports.ROUTE_ARG_SCHEMA = {
8
+ Number: {
9
+ anyOf: [
10
+ {
11
+ type: 'number',
12
+ },
13
+ {
14
+ type: 'string',
15
+ pattern: '^[0-9]+$',
16
+ },
17
+ ],
18
+ },
19
+ String: {
20
+ type: 'string',
21
+ maxLength: 512,
22
+ },
23
+ Boolean: {
24
+ anyOf: [{ type: 'boolean' }, { type: 'string', pattern: '^true|false|0|1$' }, { type: 'integer', minimum: 0, maximum: 1 }],
25
+ },
26
+ };
27
27
  //# sourceMappingURL=RouteArgsSchemas.js.map
@@ -1,51 +1,51 @@
1
- /// <reference types="node" />
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" />
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