@deepkit/http 1.0.1-alpha.98 → 1.0.2

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 (101) hide show
  1. package/CHANGELOG.md +244 -0
  2. package/dist/cjs/index.d.ts +1 -0
  3. package/dist/cjs/index.js +1 -0
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/cjs/src/controllers.js +1 -1
  6. package/dist/cjs/src/decorator.d.ts +7 -6
  7. package/dist/cjs/src/decorator.js +55 -42
  8. package/dist/cjs/src/decorator.js.map +1 -1
  9. package/dist/cjs/src/filter.js +4 -4
  10. package/dist/cjs/src/filter.js.map +1 -1
  11. package/dist/cjs/src/http-app.d.ts +8 -0
  12. package/dist/cjs/src/http-app.js +16 -0
  13. package/dist/cjs/src/http-app.js.map +1 -0
  14. package/dist/cjs/src/http.d.ts +2 -4
  15. package/dist/cjs/src/http.js +63 -51
  16. package/dist/cjs/src/http.js.map +1 -1
  17. package/dist/cjs/src/kernel.d.ts +43 -3
  18. package/dist/cjs/src/kernel.js +58 -8
  19. package/dist/cjs/src/kernel.js.map +1 -1
  20. package/dist/cjs/src/logger.js +2 -2
  21. package/dist/cjs/src/logger.js.map +1 -1
  22. package/dist/cjs/src/middleware.d.ts +2 -2
  23. package/dist/cjs/src/middleware.js +5 -6
  24. package/dist/cjs/src/middleware.js.map +1 -1
  25. package/dist/cjs/src/model.d.ts +154 -31
  26. package/dist/cjs/src/model.js +81 -41
  27. package/dist/cjs/src/model.js.map +1 -1
  28. package/dist/cjs/src/module.config.d.ts +67 -2
  29. package/dist/cjs/src/module.config.js +2 -2
  30. package/dist/cjs/src/module.config.js.map +1 -1
  31. package/dist/cjs/src/module.js +18 -13
  32. package/dist/cjs/src/module.js.map +1 -1
  33. package/dist/cjs/src/request-parser.d.ts +2 -1
  34. package/dist/cjs/src/request-parser.js +138 -60
  35. package/dist/cjs/src/request-parser.js.map +1 -1
  36. package/dist/cjs/src/router.d.ts +12 -6
  37. package/dist/cjs/src/router.js +40 -28
  38. package/dist/cjs/src/router.js.map +1 -1
  39. package/dist/cjs/src/static-serving.d.ts +4 -0
  40. package/dist/cjs/src/static-serving.js +44 -40
  41. package/dist/cjs/src/static-serving.js.map +1 -1
  42. package/dist/cjs/src/utils.js +1 -2
  43. package/dist/cjs/src/utils.js.map +1 -1
  44. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  45. package/dist/esm/index.d.ts +1 -0
  46. package/dist/esm/index.js +1 -0
  47. package/dist/esm/index.js.map +1 -1
  48. package/dist/esm/src/controllers.js +2 -2
  49. package/dist/esm/src/controllers.js.map +1 -1
  50. package/dist/esm/src/decorator.d.ts +7 -6
  51. package/dist/esm/src/decorator.js +66 -54
  52. package/dist/esm/src/decorator.js.map +1 -1
  53. package/dist/esm/src/filter.js +5 -5
  54. package/dist/esm/src/filter.js.map +1 -1
  55. package/dist/esm/src/http-app.d.ts +8 -0
  56. package/dist/esm/src/http-app.js +12 -0
  57. package/dist/esm/src/http-app.js.map +1 -0
  58. package/dist/esm/src/http.d.ts +2 -4
  59. package/dist/esm/src/http.js +65 -53
  60. package/dist/esm/src/http.js.map +1 -1
  61. package/dist/esm/src/kernel.d.ts +43 -3
  62. package/dist/esm/src/kernel.js +60 -10
  63. package/dist/esm/src/kernel.js.map +1 -1
  64. package/dist/esm/src/logger.js +2 -2
  65. package/dist/esm/src/logger.js.map +1 -1
  66. package/dist/esm/src/middleware.d.ts +2 -2
  67. package/dist/esm/src/middleware.js +6 -7
  68. package/dist/esm/src/middleware.js.map +1 -1
  69. package/dist/esm/src/model.d.ts +154 -31
  70. package/dist/esm/src/model.js +59 -31
  71. package/dist/esm/src/model.js.map +1 -1
  72. package/dist/esm/src/module.config.d.ts +67 -2
  73. package/dist/esm/src/module.config.js +2 -2
  74. package/dist/esm/src/module.config.js.map +1 -1
  75. package/dist/esm/src/module.js +20 -15
  76. package/dist/esm/src/module.js.map +1 -1
  77. package/dist/esm/src/request-parser.d.ts +2 -1
  78. package/dist/esm/src/request-parser.js +139 -61
  79. package/dist/esm/src/request-parser.js.map +1 -1
  80. package/dist/esm/src/router.d.ts +12 -6
  81. package/dist/esm/src/router.js +46 -36
  82. package/dist/esm/src/router.js.map +1 -1
  83. package/dist/esm/src/static-serving.d.ts +4 -0
  84. package/dist/esm/src/static-serving.js +41 -39
  85. package/dist/esm/src/static-serving.js.map +1 -1
  86. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  87. package/index.ts +1 -0
  88. package/package.json +23 -16
  89. package/src/decorator.ts +20 -2
  90. package/src/http-app.ts +11 -0
  91. package/src/http.ts +30 -10
  92. package/src/kernel.ts +81 -9
  93. package/src/middleware.ts +1 -1
  94. package/src/model.ts +175 -16
  95. package/src/module.config.ts +75 -1
  96. package/src/module.ts +20 -12
  97. package/src/request-parser.ts +147 -62
  98. package/src/router.ts +36 -10
  99. package/src/static-serving.ts +49 -38
  100. package/tsconfig.json +9 -3
  101. package/tsconfig.spec.json +8 -0
@@ -15,23 +15,40 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
15
15
  }) : function(o, v) {
16
16
  o["default"] = v;
17
17
  });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
25
35
  Object.defineProperty(exports, "__esModule", { value: true });
26
- exports.MemoryHttpResponse = exports.HttpRequest = exports.RequestBuilder = exports.getRegExp = exports.__ΩHttpRegExp = exports.__ΩHttpQueries = exports.__ΩHttpQuery = exports.__ΩHttpHeader = exports.__ΩHttpPath = exports.__ΩHttpBodyValidation = exports.__ΩHttpBody = exports.ValidatedBody = exports.BodyValidationError = exports.__ΩHttpRequestPositionedParameters = exports.__ΩHttpRequestResolvedParameters = exports.__ΩHttpRequestQuery = exports.createRequestWithCachedBody = exports.readBody = exports.HttpResponse = void 0;
36
+ exports.MemoryHttpResponse = exports.HttpRequest = exports.RequestBuilder = exports.__ΩHttpRegExp = exports.__ΩHttpQueries = exports.__ΩHttpQuery = exports.__ΩHttpHeader = exports.__ΩHttpPath = exports.__ΩHttpRequestParser = exports.__ΩHttpRequestParserOptions = exports.__ΩHttpBodyValidation = exports.__ΩHttpBody = exports.ValidatedBody = exports.BodyValidationError = exports.__ΩHttpRequestPositionedParameters = exports.__ΩHttpRequestResolvedParameters = exports.__ΩHttpRequestQuery = exports.HttpResponse = void 0;
37
+ exports.readBody = readBody;
38
+ exports.createRequestWithCachedBody = createRequestWithCachedBody;
39
+ exports.getRegExp = getRegExp;
40
+ exports.incomingMessageToHttpRequest = incomingMessageToHttpRequest;
41
+ exports.serverResponseToHttpResponse = serverResponseToHttpResponse;
42
+ const __ΩError = ['name', 'message', 'stack', 'Error', 'P&4!&4"&4#8Mw$y'];
43
+ const __ΩPartial = ['T', 'Partial', 'l+e#!e"!fRb!Pde"!gN#"w"y'];
44
+ const __ΩReadonlyArray = ['T', 'length', 'toString', 'toLocaleString', () => __ΩConcatArray, 'items', 'concat', () => __ΩConcatArray, 'separator', 'join', 'start', 'end', 'slice', 'searchElement', 'fromIndex', 'indexOf', 'lastIndexOf', 'value', 'index', 'array', '', 'predicate', 'thisArg', 'every', 'some', 'callbackfn', 'forEach', 'map', 'filter', 'previousValue', 'currentValue', 'currentIndex', 'reduce', 'initialValue', 'reduceRight', 'ReadonlyArray', 'b!P\'4"9P&1#P&1$Pe#!o%"@2&e#!F1\'PPe$!e$!o("J@2&e#!F1\'P&2)8&1*P\'2+8\'2,8e#!F1-Pe#!2.\'2/8\'10Pe#!2.\'2/8\'11PPe$!22\'23e$!F924!/526"278!18PPe$!22\'23e$!F924#/526"278)18PPe$!22\'23e$!F924#/526"278)19PPe$!22\'23e$!F924$/52:"278$1;PPe$!22\'23e$!F924"/52:"278"F1<PPe$!22\'23e$!F924!/526"278"F1=PPe$!22\'23e$!F924#/526"278e#!F1=PPe$!2>e$!2?\'2@e$!F924e$!/52:e#!1APPe$!2>e$!2?\'2@e$!F924e$!/52:e#!2Be#!1APP"2>e$!2?\'2@e$!F924"/52:"2B"1APPe$!2>e$!2?\'2@e$!F924e$!/52:e#!1CPPe$!2>e$!2?\'2@e$!F924e$!/52:e#!2Be#!1CPP"2>e$!2?\'2@e$!F924"/52:"2B"1C\'e"!LMwDy'];
45
+ const __ΩConcatArray = ['T', 'length', 'separator', 'join', 'start', 'end', 'slice', 'ConcatArray', 'b!P\'4"9\'e"!LP&2#8&1$P\'2%8\'2&8e#!F1\'Mw(y'];
46
+ /*@ts-ignore*/
47
+ const { __ΩTypeAnnotation } = require('@deepkit/core');
27
48
  function __assignType(fn, args) {
28
49
  fn.__type = args;
29
50
  return fn;
30
51
  }
31
- const __ΩConcatArray = ['T', 'length', 'separator', 'join', 'start', 'end', 'slice', 'b!P\'4"9\'e"!LP&2#8&1$P\'2%8\'2&8e#!F1\'M'];
32
- const __ΩError = ['name', 'message', 'stack', 'P&4!&4"&4#8M'];
33
- const __ΩPartial = ['T', 'l+e#!e"!fRb!Pde"!gN#"'];
34
- const __ΩReadonlyArray = ['T', 'length', 'toString', 'toLocaleString', () => __ΩConcatArray, 'items', 'concat', () => __ΩConcatArray, 'separator', 'join', 'start', 'end', 'slice', 'searchElement', 'fromIndex', 'indexOf', 'lastIndexOf', 'value', 'index', 'array', '', 'predicate', 'thisArg', 'every', 'some', 'callbackfn', 'forEach', 'map', 'filter', 'previousValue', 'currentValue', 'currentIndex', 'reduce', 'initialValue', 'reduceRight', 'b!P\'4"9P&1#P&1$Pe#!o%"@2&e#!F1\'PPe$!e$!o("J@2&e#!F1\'P&2)8&1*P\'2+8\'2,8e#!F1-Pe#!2.\'2/8\'10Pe#!2.\'2/8\'11PPe$!22\'23e$!F924!/526"278!18PPe$!22\'23e$!F924#/526"278)18PPe$!22\'23e$!F924#/526"278)19PPe$!22\'23e$!F924$/52:"278$1;PPe$!22\'23e$!F924"/52:"278"F1<PPe$!22\'23e$!F924!/526"278"F1=PPe$!22\'23e$!F924#/526"278e#!F1=PPe$!2>e$!2?\'2@e$!F924e$!/52:e#!1APPe$!2>e$!2?\'2@e$!F924e$!/52:e#!2Be#!1APP"2>e$!2?\'2@e$!F924"/52:"2B"1APPe$!2>e$!2?\'2@e$!F924e$!/52:e#!1CPPe$!2>e$!2?\'2@e$!F924e$!/52:e#!2Be#!1CPP"2>e$!2?\'2@e$!F924"/52:"2B"1C\'e"!LM'];
35
52
  /*
36
53
  * Deepkit Framework
37
54
  * Copyright (C) 2021 Deepkit UG, Marc J. Schmidt
@@ -54,7 +71,7 @@ class HttpResponse extends http_1.ServerResponse {
54
71
  }
55
72
  }
56
73
  exports.HttpResponse = HttpResponse;
57
- HttpResponse.__type = [() => http_1.ServerResponse, 'code', 'status', 'P7!P\'2""0#5'];
74
+ HttpResponse.__type = [() => http_1.ServerResponse, 'code', 'status', 'HttpResponse', 'P7!P\'2""0#5w$'];
58
75
  /**
59
76
  * Reads the body of the request and returns it as a Buffer.
60
77
  * The result will be cached in the request object as `request.body`.
@@ -78,7 +95,6 @@ function readBody(request) {
78
95
  }, [() => __ΩError, 'error', '', 'Pn!2""/#']));
79
96
  }, ['resolve', 'reject', '', 'P"2!"2""/#']));
80
97
  }
81
- exports.readBody = readBody;
82
98
  readBody.__type = ['request', 'readBody', 'P!2!!`/"'];
83
99
  function createRequestWithCachedBody(request, body) {
84
100
  var _a;
@@ -112,16 +128,15 @@ function createRequestWithCachedBody(request, body) {
112
128
  }
113
129
  }
114
130
  },
115
- _a.__type = [() => HttpRequest, 'size', '_read', 'P7!P\'2""0#5'],
131
+ _a.__type = [() => HttpRequest, 'url', function () { return url; }, 'method', function () { return method; }, 'position', function () { return 0; }, 'headers', function () { return headers; }, 'size', '_read', 'P7!!3">#!3$>%\'3&>\'!3(>)P\'2*"0+5'],
116
132
  _a)(writable);
117
133
  }
118
- exports.createRequestWithCachedBody = createRequestWithCachedBody;
119
134
  createRequestWithCachedBody.__type = [() => __ΩPartial, 'request', 'body', () => HttpRequest, 'createRequestWithCachedBody', 'P!o!"2"!2#P7$/%'];
120
- const __ΩHttpRequestQuery = ['P&&LM'];
135
+ const __ΩHttpRequestQuery = ['HttpRequestQuery', 'P&&LMw!y'];
121
136
  exports.__ΩHttpRequestQuery = __ΩHttpRequestQuery;
122
- const __ΩHttpRequestResolvedParameters = ['P&"LM'];
137
+ const __ΩHttpRequestResolvedParameters = ['HttpRequestResolvedParameters', 'P&"LMw!y'];
123
138
  exports.__ΩHttpRequestResolvedParameters = __ΩHttpRequestResolvedParameters;
124
- const __ΩHttpRequestPositionedParameters = ['arguments', () => __ΩHttpRequestResolvedParameters, 'parameters', 'P"F4!n"4#M'];
139
+ const __ΩHttpRequestPositionedParameters = ['arguments', () => __ΩHttpRequestResolvedParameters, 'parameters', 'HttpRequestPositionedParameters', 'P"F4!n"4#Mw$y'];
125
140
  exports.__ΩHttpRequestPositionedParameters = __ΩHttpRequestPositionedParameters;
126
141
  class BodyValidationError {
127
142
  constructor(errors = []) {
@@ -139,11 +154,11 @@ class BodyValidationError {
139
154
  return this.errors.filter(__assignType(v => v.path === path, ['v', '', 'P"2!"/"']));
140
155
  }
141
156
  getErrorMessageForPath(path) {
142
- return this.getErrorsForPath(path).map(__assignType(v => v.message, ['v', '', 'P"2!"/"'])).join(', ');
157
+ return this.getErrorsForPath(path).map(__assignType(v => v.toString(), ['v', '', 'P"2!"/"'])).join(', ');
143
158
  }
144
159
  }
145
160
  exports.BodyValidationError = BodyValidationError;
146
- BodyValidationError.__type = [() => type_1.ValidationErrorItem, 'errors', () => [], 'constructor', 'prefix', 'hasErrors', () => type_1.ValidationErrorItem, 'getErrors', 'path', () => type_1.ValidationErrorItem, 'getErrorsForPath', 'getErrorMessageForPath', 'PP7!F2":9>#"0$P&2%8)0&P&2%8P7\'F0(P&2)P7*F0+P&2)&0,5'];
161
+ BodyValidationError.__type = [() => type_1.ValidationErrorItem, 'errors', () => [], 'constructor', 'prefix', 'hasErrors', () => type_1.ValidationErrorItem, 'getErrors', 'path', () => type_1.ValidationErrorItem, 'getErrorsForPath', 'getErrorMessageForPath', 'BodyValidationError', 'PP7!F2":9>#"0$P&2%8)0&P&2%8P7\'F0(P&2)P7*F0+P&2)&0,5w-'];
147
162
  class ValidatedBody {
148
163
  constructor(error, value) {
149
164
  this.error = error;
@@ -154,33 +169,36 @@ class ValidatedBody {
154
169
  }
155
170
  }
156
171
  exports.ValidatedBody = ValidatedBody;
157
- ValidatedBody.__type = ['T', () => BodyValidationError, 'error', 'value', 'constructor', 'valid', 'b!PP7"2#:e"!2$8:"0%P!0&5'];
158
- const __ΩHttpBody = ['T', "httpBody", '__meta', 'b!Pe"!PP."G4#8MK'];
172
+ ValidatedBody.__type = ['T', () => BodyValidationError, 'error', 'value', 'constructor', 'valid', 'ValidatedBody', 'b!PP7"2#:e"!2$8:"0%P!0&5w\''];
173
+ const __ΩHttpBody = ['T', () => __ΩTypeAnnotation, "httpBody", 'HttpBody', 'b!Pe"!.#o""Kw$y'];
159
174
  exports.__ΩHttpBody = __ΩHttpBody;
160
- const __ΩHttpBodyValidation = ['T', () => ValidatedBody, "httpBodyValidation", '__meta', 'b!PPe#!7"PP.#G4$8MK'];
175
+ const __ΩHttpBodyValidation = ['T', () => ValidatedBody, () => __ΩTypeAnnotation, "httpBodyValidation", 'HttpBodyValidation', 'b!PPe#!7".$o#"Kw%y'];
161
176
  exports.__ΩHttpBodyValidation = __ΩHttpBodyValidation;
162
- const __ΩHttpPath = ['T', 'Options', "httpPath", '__meta', 'b!PMc"Pe"!PP.#e$"G4$8MK'];
177
+ const __ΩHttpRequestParserOptions = ['withPath', 'withBody', 'withQuery', 'withHeader', 'HttpRequestParserOptions', 'P)4!8)4"8)4#8)4$8Mw%y'];
178
+ exports.__ΩHttpRequestParserOptions = __ΩHttpRequestParserOptions;
179
+ const __ΩHttpRequestParser = ['T', () => __ΩHttpRequestParserOptions, 'options', '', () => __ΩTypeAnnotation, "httpRequestParser", 'HttpRequestParser', 'b!PPn"2#8e#!`/$.&e"!o%#Kw\'y'];
180
+ exports.__ΩHttpRequestParser = __ΩHttpRequestParser;
181
+ const __ΩHttpPath = ['T', 'Options', () => __ΩTypeAnnotation, "httpPath", 'HttpPath', 'b!PMc"Pe"!.$e""o##Kw%y'];
163
182
  exports.__ΩHttpPath = __ΩHttpPath;
164
- const __ΩHttpHeader = ['T', 'Options', "httpHeader", '__meta', 'b!PMc"Pe"!PP.#e$"G4$8MK'];
183
+ const __ΩHttpHeader = ['T', 'Options', () => __ΩTypeAnnotation, "httpHeader", 'HttpHeader', 'b!PMc"Pe"!.$e""o##Kw%y'];
165
184
  exports.__ΩHttpHeader = __ΩHttpHeader;
166
- const __ΩHttpQuery = ['T', 'Options', "httpQuery", '__meta', 'b!PMc"Pe"!PP.#e$"G4$8MK'];
185
+ const __ΩHttpQuery = ['T', 'Options', () => __ΩTypeAnnotation, "httpQuery", 'HttpQuery', 'b!PMc"Pe"!.$e""o##Kw%y'];
167
186
  exports.__ΩHttpQuery = __ΩHttpQuery;
168
- const __ΩHttpQueries = ['T', 'Options', "httpQueries", '__meta', 'b!PMc"Pe"!PP.#e$"G4$8MK'];
187
+ const __ΩHttpQueries = ['T', 'Options', () => __ΩTypeAnnotation, "httpQueries", 'HttpQueries', 'b!PMc"Pe"!.$e""o##Kw%y'];
169
188
  exports.__ΩHttpQueries = __ΩHttpQueries;
170
- const __ΩHttpRegExp = ['T', 'Pattern', "httpRegExp", '__meta', 'b!b"Pe"!PP.#e$"G4$8MK'];
189
+ const __ΩHttpRegExp = ['T', 'Pattern', () => __ΩTypeAnnotation, "httpRegExp", 'HttpRegExp', 'b!b"Pe"!.$e""o##Kw%y'];
171
190
  exports.__ΩHttpRegExp = __ΩHttpRegExp;
172
191
  function getRegExp(type) {
173
- const options = type_1.metaAnnotation.getForName(type, 'httpRegExp');
174
- if (!options || !options[0])
192
+ const options = type_1.typeAnnotation.getType(type, 'httpRegExp');
193
+ if (!options)
175
194
  return;
176
- if (options[0].kind === type_1.ReflectionKind.literal && 'string' === typeof options[0].literal)
177
- return options[0].literal;
178
- if (options[0].kind === type_1.ReflectionKind.literal && options[0].literal instanceof RegExp)
179
- return options[0].literal;
195
+ if (options.kind === type_1.ReflectionKind.literal && 'string' === typeof options.literal)
196
+ return options.literal;
197
+ if (options.kind === type_1.ReflectionKind.literal && options.literal instanceof RegExp)
198
+ return options.literal;
180
199
  return;
181
200
  }
182
- exports.getRegExp = getRegExp;
183
- getRegExp.__type = ['type', 'getRegExp', 'P"2!P&A-J/"'];
201
+ getRegExp.__type = ['Type', 'type', 'getRegExp', 'P"w!2"P&A-J/#'];
184
202
  class RequestBuilder {
185
203
  constructor(path, method = 'GET') {
186
204
  this.path = path;
@@ -253,12 +271,17 @@ Content-Type: application/json\r
253
271
  return this;
254
272
  }
255
273
  query(query) {
256
- this.queryPath = querystring.stringify(query);
274
+ if ('string' === typeof query) {
275
+ this.queryPath = query;
276
+ }
277
+ else {
278
+ this.queryPath = querystring.stringify(query);
279
+ }
257
280
  return this;
258
281
  }
259
282
  }
260
283
  exports.RequestBuilder = RequestBuilder;
261
- RequestBuilder.__type = ['contentBuffer', function () { return Buffer.alloc(0); }, '_headers', function () { return {}; }, 'queryPath', 'path', 'method', () => "GET", 'constructor', 'getUrl', () => HttpRequest, 'build', 'headers', 'name', 'value', 'header', 'body', 'json', 'file', 'fileName', 'items', 'multiPart', 'query', '!3!<>"P&&LM3#<>$&3%8<P&2&<&2\'<>("0)P"0*PP7+0,PP&&LM2-!0-P&2.P&\'J2/!00P%21!02PP&4.W438&448"428MF25!06PP&!J21!01P"27!075'];
284
+ RequestBuilder.__type = ['contentBuffer', function () { return Buffer.alloc(0); }, '_headers', function () { return {}; }, 'queryPath', 'path', 'method', () => "GET", 'constructor', 'getUrl', () => HttpRequest, 'build', 'headers', 'name', 'value', 'header', 'body', 'json', 'file', 'fileName', 'items', 'multiPart', 'query', 'RequestBuilder', '!3!<>"P&&LM3#<>$&3%8<P&2&<&2\'<>("0)P"0*PP7+0,PP&&LM2-!0-P&2.P&\'J2/!00P%21!02PP&4.W438&448"428MF25!06PP&!J21!01PP"&J27!075w8'];
262
285
  class HttpRequest extends http_1.IncomingMessage {
263
286
  constructor() {
264
287
  super(...arguments);
@@ -267,6 +290,7 @@ class HttpRequest extends http_1.IncomingMessage {
267
290
  */
268
291
  this.store = {};
269
292
  this.uploadedFiles = {};
293
+ this.throwErrorOnNotFound = false;
270
294
  }
271
295
  async readBody() {
272
296
  if (this.body)
@@ -311,7 +335,23 @@ class HttpRequest extends http_1.IncomingMessage {
311
335
  }
312
336
  }
313
337
  exports.HttpRequest = HttpRequest;
314
- HttpRequest.__type = [() => http_1.IncomingMessage, 'store', function () { return {}; }, () => router_js_1.UploadedFile, 'uploadedFiles', function () { return {}; }, 'body', 'readBody', 'readBodyText', 'path', () => RequestBuilder, 'GET', () => RequestBuilder, 'POST', () => RequestBuilder, 'OPTIONS', () => RequestBuilder, 'TRACE', () => RequestBuilder, 'HEAD', () => RequestBuilder, 'PATCH', () => RequestBuilder, 'PUT', () => RequestBuilder, 'DELETE', 'getUrl', 'getMethod', 'getRemoteAddress', 'P7!P&"LM3">#P&P7$LM3%>&!3\'8P!`0(P&`0)P&2*P7+0,sP&2*P7-0.sP&2*P7/00sP&2*P7102sP&2*P7304sP&2*P7506sP&2*P7708sP&2*P790:sP&0;P&0<P&0=5'];
338
+ HttpRequest.__type = [() => http_1.IncomingMessage, 'store', function () { return {}; }, () => router_js_1.UploadedFile, 'uploadedFiles', function () { return {}; }, 'throwErrorOnNotFound', function () { return false; }, 'body', 'readBody', 'readBodyText', 'path', () => RequestBuilder, 'GET', () => RequestBuilder, 'POST', () => RequestBuilder, 'OPTIONS', () => RequestBuilder, 'TRACE', () => RequestBuilder, 'HEAD', () => RequestBuilder, 'PATCH', () => RequestBuilder, 'PUT', () => RequestBuilder, 'DELETE', 'getUrl', 'getMethod', 'getRemoteAddress', 'HttpRequest', 'P7!P&"LM3">#P&P7$LM3%>&)3\'>(!3)8P!`0*P&`0+P&2,P7-0.sP&2,P7/00sP&2,P7102sP&2,P7304sP&2,P7506sP&2,P7708sP&2,P790:sP&2,P7;0<sP&0=P&0>P&0?5w@'];
339
+ function incomingMessageToHttpRequest(request) {
340
+ if (request instanceof HttpRequest)
341
+ return request;
342
+ Object.setPrototypeOf(request, HttpRequest.prototype);
343
+ HttpRequest.constructor.call(request);
344
+ return request;
345
+ }
346
+ incomingMessageToHttpRequest.__type = ['request', () => HttpRequest, 'incomingMessageToHttpRequest', 'P!2!P7"/#'];
347
+ function serverResponseToHttpResponse(response) {
348
+ if (response instanceof HttpResponse)
349
+ return response;
350
+ Object.setPrototypeOf(response, HttpResponse.prototype);
351
+ MemoryHttpResponse.constructor.call(response);
352
+ return response;
353
+ }
354
+ serverResponseToHttpResponse.__type = ['response', () => HttpResponse, 'serverResponseToHttpResponse', 'P!2!P7"/#'];
315
355
  class MemoryHttpResponse extends HttpResponse {
316
356
  constructor() {
317
357
  super(...arguments);
@@ -394,5 +434,5 @@ class MemoryHttpResponse extends HttpResponse {
394
434
  }
395
435
  }
396
436
  exports.MemoryHttpResponse = MemoryHttpResponse;
397
- MemoryHttpResponse.__type = [() => HttpResponse, 'body', function () { return Buffer.alloc(0); }, 'headers', function () { return Object.create(null); }, 'name', () => __ΩReadonlyArray, 'value', 'setHeader', 'removeHeader', 'getHeader', 'getHeaders', 'statusCode', 'headersOrReasonPhrase', 'writeHead', 'chunk', 'encoding', 'callback', 'write', 'end', 'P7!!3">#P&P\'&&F-JLM3$>%P&2&P\'&&o\'"J2(!0)P&2&"0*P&2&"0+P!0,P\'2-P&!!FJ2.8P!!FJ2$8!0/!!!P"20"21"228"03P"20"218"228"045'];
437
+ MemoryHttpResponse.__type = [() => HttpResponse, 'body', function () { return Buffer.alloc(0); }, 'headers', function () { return Object.create(null); }, 'name', () => __ΩReadonlyArray, 'value', 'setHeader', 'removeHeader', 'getHeader', 'getHeaders', 'statusCode', 'headersOrReasonPhrase', 'writeHead', 'chunk', 'encoding', 'callback', 'write', 'end', 'MemoryHttpResponse', 'P7!!3">#P&P\'&&F-JLM3$>%P&2&P\'&&o\'"J2(!0)P&2&"0*P&2&"0+P!0,P\'2-P&!!FJ2.8P!!FJ2$8!0/!!!P"20"21"228"03P"20"218"228"045w5'];
398
438
  //# sourceMappingURL=model.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/model.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"model.js","sourceRoot":"","sources":["../../../src/model.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,10 @@
1
- /// <reference types="node" />
2
1
  export interface HttpParserOptions {
3
2
  /**
4
3
  * sets encoding for incoming form fields
5
4
  *
6
5
  * @default 'utf-8'
7
6
  */
8
- encoding?: BufferEncoding | undefined;
7
+ encoding?: string | undefined;
9
8
  /**
10
9
  * the directory for placing file uploads in. You can move them later by using fs.rename()
11
10
  *
@@ -80,5 +79,71 @@ export interface HttpParserOptions {
80
79
  export declare class HttpConfig {
81
80
  debug: boolean;
82
81
  parser: HttpParserOptions;
82
+ /**
83
+ * Limits maximum incoming headers count. If set to 0, no limit will be applied.
84
+ */
85
+ maxHeadersCount?: number;
86
+ /**
87
+ * The maximum number of requests socket can handle
88
+ * before closing keep alive connection.
89
+ *
90
+ * A value of `0` will disable the limit.
91
+ *
92
+ * When the limit is reached it will set the `Connection` header value to `close`,
93
+ * but will not actually close the connection, subsequent requests sent
94
+ * after the limit is reached will get `503 Service Unavailable` as a response.
95
+ */
96
+ maxRequestsPerSocket?: number;
97
+ /**
98
+ * The number of milliseconds of inactivity before a socket is presumed
99
+ * to have timed out.
100
+ *
101
+ * A value of `0` will disable the timeout behavior on incoming connections.
102
+ *
103
+ * The socket timeout logic is set up on connection, so changing this
104
+ * value only affects new connections to the server, not any existing connections.
105
+ */
106
+ timeout?: number;
107
+ /**
108
+ * Limit the amount of time the parser will wait to receive the complete HTTP
109
+ * headers.
110
+ *
111
+ * If the timeout expires, the server responds with status 408 without
112
+ * forwarding the request to the request listener and then closes the connection.
113
+ *
114
+ * It must be set to a non-zero value (e.g. 120 seconds) to protect against
115
+ * potential Denial-of-Service attacks in case the server is deployed without a
116
+ * reverse proxy in front.
117
+ */
118
+ headersTimeout?: number;
119
+ /**
120
+ * The number of milliseconds of inactivity a server needs to wait for additional
121
+ * incoming data, after it has finished writing the last response, before a socket
122
+ * will be destroyed. If the server receives new data before the keep-alive
123
+ * timeout has fired, it will reset the regular inactivity timeout, i.e., `server.timeout`.
124
+ *
125
+ * A value of `0` will disable the keep-alive timeout behavior on incoming
126
+ * connections.
127
+ * A value of `0` makes the http server behave similarly to Node.js versions prior
128
+ * to 8.0.0, which did not have a keep-alive timeout.
129
+ *
130
+ * The socket timeout logic is set up on connection, so changing this value only
131
+ * affects new connections to the server, not any existing connections.
132
+ */
133
+ keepAliveTimeout?: number;
134
+ /**
135
+ * Sets the timeout value in milliseconds for receiving the entire request from
136
+ * the client.
137
+ *
138
+ * If the timeout expires, the server responds with status 408 without
139
+ * forwarding the request to the request listener and then closes the connection.
140
+ *
141
+ * It must be set to a non-zero value (e.g. 120 seconds) to protect against
142
+ * potential Denial-of-Service attacks in case the server is deployed without a
143
+ * reverse proxy in front.
144
+ *
145
+ * Default is 5 minutes.
146
+ */
147
+ requestTimeout?: number;
83
148
  }
84
149
  export declare type __ΩHttpParserOptions = any[];
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HttpConfig = exports.__ΩHttpParserOptions = void 0;
4
- const __ΩHttpParserOptions = ['encoding', 'uploadDir', 'keepExtensions', 'allowEmptyFiles', 'minFileSize', 'maxFiles', 'maxFileSize', 'maxTotalFileSize', 'maxFields', 'maxFieldsSize', false, 'hashAlgorithm', 'multiples', 'enabledPlugins', 'PP!-J4!8P&-J4"8P)-J4#8P)-J4$8P\'-J4%8P\'-J4&8P\'-J4\'8P\'-J4(8P\'-J4)8P\'-J4*8P&.+-J4,8P)-J4-8P&F-J4.8M'];
4
+ const __ΩHttpParserOptions = ['encoding', 'uploadDir', 'keepExtensions', 'allowEmptyFiles', 'minFileSize', 'maxFiles', 'maxFileSize', 'maxTotalFileSize', 'maxFields', 'maxFieldsSize', false, 'hashAlgorithm', 'multiples', 'enabledPlugins', 'HttpParserOptions', 'PP&-J4!8P&-J4"8P)-J4#8P)-J4$8P\'-J4%8P\'-J4&8P\'-J4\'8P\'-J4(8P\'-J4)8P\'-J4*8P&.+-J4,8P)-J4-8P&F-J4.8Mw/y'];
5
5
  exports.__ΩHttpParserOptions = __ΩHttpParserOptions;
6
6
  class HttpConfig {
7
7
  constructor() {
@@ -10,5 +10,5 @@ class HttpConfig {
10
10
  }
11
11
  }
12
12
  exports.HttpConfig = HttpConfig;
13
- HttpConfig.__type = ['debug', function () { return false; }, () => __ΩHttpParserOptions, 'parser', function () { return {}; }, ')3!>"n#3$>%5'];
13
+ HttpConfig.__type = ['debug', function () { return false; }, () => __ΩHttpParserOptions, 'parser', function () { return {}; }, 'maxHeadersCount', 'maxRequestsPerSocket', 'timeout', 'headersTimeout', 'keepAliveTimeout', 'requestTimeout', 'HttpConfig', ')3!>"n#3$>%\'3&8\'3\'8\'3(8\'3)8\'3*8\'3+85w,'];
14
14
  //# sourceMappingURL=module.config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.config.js","sourceRoot":"","sources":["../../../src/module.config.ts"],"names":[],"mappings":";;;;;AA2FA,MAAa,UAAU;IAAvB;QACI,UAAK,GAAY,KAAK,CAAC;QACvB,WAAM,GAAsB,EAAE,CAAC;KAClC;;AAHD,gCAGC;mDAFoB,KAAK,gEACM,EAAE"}
1
+ {"version":3,"file":"module.config.js","sourceRoot":"","sources":["../../../src/module.config.ts"],"names":[],"mappings":";;;;;AA2FA,MAAa,UAAU;IAAvB;QAEI,UAAK,GAAY,KAAK,CAAC;QAEvB,WAAM,GAAsB,EAAE,CAAC;KAyElC;;AA7ED,gCA6EC;mDA3EoB,KAAK,gEAEM,EAAE"}
@@ -1,8 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.HttpModule = void 0;
4
- /*@ts-ignore*/
5
- const { __ΩControllerConfig } = require('@deepkit/app');
6
4
  function __assignType(fn, args) {
7
5
  fn.__type = args;
8
6
  return fn;
@@ -23,11 +21,15 @@ const type_1 = require("@deepkit/type");
23
21
  const request_parser_js_1 = require("./request-parser.js");
24
22
  const injector_1 = require("@deepkit/injector");
25
23
  function parameterRequiresRequest(parameter) {
26
- return Boolean(type_1.metaAnnotation.getForName(parameter.type, 'httpQueries') || type_1.metaAnnotation.getForName(parameter.type, 'httpQuery')
27
- || type_1.metaAnnotation.getForName(parameter.type, 'httpBody') || type_1.metaAnnotation.getForName(parameter.type, 'httpPath') || type_1.metaAnnotation.getForName(parameter.type, 'httpHeader'));
24
+ return Boolean(type_1.typeAnnotation.getType(parameter.type, 'httpQueries')
25
+ || type_1.typeAnnotation.getType(parameter.type, 'httpQuery')
26
+ || type_1.typeAnnotation.getType(parameter.type, 'httpBody')
27
+ || type_1.typeAnnotation.getType(parameter.type, 'httpRequestParser')
28
+ || type_1.typeAnnotation.getType(parameter.type, 'httpPath')
29
+ || type_1.typeAnnotation.getType(parameter.type, 'httpHeader'));
28
30
  }
29
31
  parameterRequiresRequest.__type = [() => type_1.ReflectionParameter, 'parameter', 'parameterRequiresRequest', 'PP7!2")/#'];
30
- class HttpModule extends (0, app_1.createModule)({
32
+ class HttpModule extends (0, app_1.createModuleClass)({
31
33
  config: module_config_js_1.HttpConfig,
32
34
  providers: [
33
35
  router_js_1.HttpRouter,
@@ -74,7 +76,7 @@ class HttpModule extends (0, app_1.createModule)({
74
76
  let needsAsync = false;
75
77
  const params = listener.reflection.getParameters().slice(1);
76
78
  for (const parameter of params) {
77
- if (type_1.metaAnnotation.getForName(parameter.type, 'httpBody'))
79
+ if (type_1.typeAnnotation.getType(parameter.type, 'httpBody'))
78
80
  needsAsync = true;
79
81
  if (parameterRequiresRequest(parameter))
80
82
  requiresHttpRequest = true;
@@ -83,25 +85,28 @@ class HttpModule extends (0, app_1.createModule)({
83
85
  //not yet supported since we have to patch the listener to be async and redirect the call (as the DI container is sync).
84
86
  throw new Error(`Listener ${(0, app_1.stringifyListener)(listener)} requires async HttpBody. This is not yet supported. You have to parse the request manually by injecting HttpRequest.`);
85
87
  }
88
+ const parserCache = (Map.Ω = [[() => router_js_1.RouteConfig, 'P7!'], [() => Function, 'Pu!']], new Map());
86
89
  for (let index = 0; index < params.length; index++) {
87
90
  const parameter = params[index];
88
91
  if (!parameterRequiresRequest(parameter))
89
92
  continue;
90
93
  //change the reflection type so that we create a unique injection token for that type.
91
- const unique = Symbol('unique');
94
+ const unique = Symbol('event.parameter:' + parameter.name);
92
95
  const uniqueType = { kind: type_1.ReflectionKind.literal, literal: unique };
93
- type_1.metaAnnotation.registerType(parameter.type, { name: 'inject', options: [uniqueType] });
94
- let build;
96
+ type_1.typeAnnotation.registerType(parameter.type, { name: 'inject', options: uniqueType });
95
97
  let i = index;
96
98
  this.addProvider({
97
99
  provide: uniqueType, useFactory: __assignType((httpConfig, request, injector, config) => {
100
+ let build = config && parserCache.get(config);
98
101
  if (!build) {
99
102
  const params = listener.reflection.getParameters().slice(1);
100
- build = (0, request_parser_js_1.buildRequestParser)(httpConfig.parser, params, config === null || config === void 0 ? void 0 : config.getFullPath());
103
+ build = (0, request_parser_js_1.buildRequestParser)(httpConfig.parser, params, config);
104
+ if (config)
105
+ parserCache.set(config, build);
101
106
  }
102
107
  const parser = build(request);
103
- const params = parser(injector);
104
- return params.arguments[i];
108
+ const result = parser(injector);
109
+ return result.arguments[i];
105
110
  }, [() => module_config_js_1.HttpConfig, 'httpConfig', () => model_js_1.HttpRequest, 'request', () => injector_1.InjectorContext, 'injector', () => router_js_1.RouteConfig, 'config', '', 'PP7!2"P7#2$P7%2&P7\'2(8"/)']), scope: 'http'
106
111
  });
107
112
  this.addExport(uniqueType);
@@ -120,5 +125,5 @@ class HttpModule extends (0, app_1.createModule)({
120
125
  }
121
126
  }
122
127
  exports.HttpModule = HttpModule;
123
- HttpModule.__type = [() => (0, app_1.createModule)({ config: module_config_js_1.HttpConfig, providers: [router_js_1.HttpRouter, kernel_js_1.HttpKernel, http_js_1.HttpResultFormatter, router_js_1.HttpRouterRegistry, filter_js_1.HttpRouterFilterResolver, { provide: model_js_1.HttpResponse, scope: "http" }, { provide: model_js_1.HttpRequest, scope: "http" }, { provide: router_js_1.RouteConfig, useValue: undefined, scope: "http" }, { provide: logger_1.Logger, useValue: new logger_1.Logger([new logger_1.ConsoleTransport()]) }], listeners: [http_js_1.HttpListener], workflows: [http_js_1.httpWorkflow], exports: [router_js_1.HttpRouter, router_js_1.HttpRouterRegistry, kernel_js_1.HttpKernel, http_js_1.HttpResultFormatter, filter_js_1.HttpRouterFilterResolver, model_js_1.HttpResponse, model_js_1.HttpRequest, controllers_js_1.HttpControllers, router_js_1.RouteConfig, logger_1.Logger] }), 'process', () => event_1.EventToken, 'patchEventsForHttpRequestAccess', function () { return [http_js_1.httpWorkflow.onRequest, http_js_1.httpWorkflow.onAuth, http_js_1.httpWorkflow.onController]; }, () => app_1.AppModule, 'module', 'listener', 'processListener', () => app_1.AppModule, () => __ΩControllerConfig, 'config', 'processController', 'P7!P"0"P"7#F3$<>%PP"7&2\'"2("0)PP"7*2\'n+2,"0-5'];
128
+ HttpModule.__type = [() => (0, app_1.createModuleClass)({ config: module_config_js_1.HttpConfig, providers: [router_js_1.HttpRouter, kernel_js_1.HttpKernel, http_js_1.HttpResultFormatter, router_js_1.HttpRouterRegistry, filter_js_1.HttpRouterFilterResolver, { provide: model_js_1.HttpResponse, scope: "http" }, { provide: model_js_1.HttpRequest, scope: "http" }, { provide: router_js_1.RouteConfig, useValue: undefined, scope: "http" }, { provide: logger_1.Logger, useValue: new logger_1.Logger([new logger_1.ConsoleTransport()]) }], listeners: [http_js_1.HttpListener], workflows: [http_js_1.httpWorkflow], exports: [router_js_1.HttpRouter, router_js_1.HttpRouterRegistry, kernel_js_1.HttpKernel, http_js_1.HttpResultFormatter, filter_js_1.HttpRouterFilterResolver, model_js_1.HttpResponse, model_js_1.HttpRequest, controllers_js_1.HttpControllers, router_js_1.RouteConfig, logger_1.Logger] }), 'httpControllers', function () { return new controllers_js_1.HttpControllers; }, 'process', () => event_1.EventToken, 'patchEventsForHttpRequestAccess', function () { return [http_js_1.httpWorkflow.onRequest, http_js_1.httpWorkflow.onAuth, http_js_1.httpWorkflow.onController]; }, () => app_1.AppModule, 'module', 'AddedListener', 'listener', 'processListener', () => app_1.AppModule, 'ControllerConfig', 'config', 'processController', 'HttpModule', 'P7!!3"<>#P"0$P"7%F3&<>\'PP"7(2)"w*2+"0,PP"7-2)"w.2/"005w1'];
124
129
  //# sourceMappingURL=module.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/module.ts"],"names":[],"mappings":"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"}
@@ -9,6 +9,7 @@ export declare class ParameterForRequestParser {
9
9
  regexPosition?: number;
10
10
  constructor(parameter: ReflectionParameter);
11
11
  get body(): boolean;
12
+ get requestParser(): boolean;
12
13
  get bodyValidation(): boolean;
13
14
  getType(): Type;
14
15
  get header(): boolean;
@@ -24,7 +25,7 @@ export declare function parseRoutePathToRegex(path: string, params: ReflectionPa
24
25
  [name: string]: number;
25
26
  };
26
27
  };
27
- export declare function buildRequestParser(parseOptions: HttpParserOptions, parameters: ReflectionParameter[], path?: string): (request: HttpRequest) => any[];
28
+ export declare function buildRequestParser(parseOptions: HttpParserOptions, parameters: ReflectionParameter[], routeConfig?: RouteConfig): (request: HttpRequest) => any[];
28
29
  export declare function getRequestParserCodeForParameters(compiler: CompilerContext, parseOptions: HttpParserOptions, parameters: ParameterForRequestParser[], config: {
29
30
  module?: InjectorModule<any>;
30
31
  resolverForParameterName?: Map<string, ClassType>;