@deepkit/http 1.0.1-alpha.71 → 1.0.1-alpha.72

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 (121) hide show
  1. package/dist/cjs/src/decorator.d.ts +8 -6
  2. package/dist/cjs/src/decorator.js +49 -12
  3. package/dist/cjs/src/decorator.js.map +1 -1
  4. package/dist/cjs/src/filter.d.ts +3 -3
  5. package/dist/cjs/src/filter.js +3 -3
  6. package/dist/cjs/src/filter.js.map +1 -1
  7. package/dist/cjs/src/http.d.ts +49 -11
  8. package/dist/cjs/src/http.js +129 -38
  9. package/dist/cjs/src/http.js.map +1 -1
  10. package/dist/cjs/src/kernel.d.ts +3 -3
  11. package/dist/cjs/src/kernel.js +1 -1
  12. package/dist/cjs/src/kernel.js.map +1 -1
  13. package/dist/cjs/src/model.d.ts +11 -3
  14. package/dist/cjs/src/model.js +58 -26
  15. package/dist/cjs/src/model.js.map +1 -1
  16. package/dist/cjs/src/module.js +5 -3
  17. package/dist/cjs/src/module.js.map +1 -1
  18. package/dist/cjs/src/router.d.ts +84 -11
  19. package/dist/cjs/src/router.js +280 -94
  20. package/dist/cjs/src/router.js.map +1 -1
  21. package/dist/cjs/src/static-serving.js +15 -8
  22. package/dist/cjs/src/static-serving.js.map +1 -1
  23. package/dist/cjs/tsconfig.tsbuildinfo +1 -1
  24. package/dist/esm/src/decorator.d.ts +8 -6
  25. package/dist/esm/src/decorator.js +47 -11
  26. package/dist/esm/src/decorator.js.map +1 -1
  27. package/dist/esm/src/filter.d.ts +3 -3
  28. package/dist/esm/src/filter.js +4 -4
  29. package/dist/esm/src/filter.js.map +1 -1
  30. package/dist/esm/src/http.d.ts +49 -11
  31. package/dist/esm/src/http.js +102 -24
  32. package/dist/esm/src/http.js.map +1 -1
  33. package/dist/esm/src/kernel.d.ts +3 -3
  34. package/dist/esm/src/kernel.js +2 -2
  35. package/dist/esm/src/kernel.js.map +1 -1
  36. package/dist/esm/src/model.d.ts +11 -3
  37. package/dist/esm/src/model.js +47 -15
  38. package/dist/esm/src/model.js.map +1 -1
  39. package/dist/esm/src/module.js +5 -3
  40. package/dist/esm/src/module.js.map +1 -1
  41. package/dist/esm/src/router.d.ts +84 -11
  42. package/dist/esm/src/router.js +278 -94
  43. package/dist/esm/src/router.js.map +1 -1
  44. package/dist/esm/src/static-serving.js +16 -9
  45. package/dist/esm/src/static-serving.js.map +1 -1
  46. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -1
  47. package/package.json +17 -14
  48. package/src/decorator.ts +9 -6
  49. package/src/filter.ts +4 -4
  50. package/src/http.ts +88 -15
  51. package/src/kernel.ts +2 -2
  52. package/src/model.ts +35 -6
  53. package/src/module.ts +5 -3
  54. package/src/router.ts +286 -73
  55. package/src/static-serving.ts +6 -3
  56. package/coverage/clover.xml +0 -1086
  57. package/coverage/coverage-final.json +0 -12
  58. package/coverage/lcov-report/base.css +0 -224
  59. package/coverage/lcov-report/block-navigation.js +0 -79
  60. package/coverage/lcov-report/favicon.png +0 -0
  61. package/coverage/lcov-report/index.html +0 -126
  62. package/coverage/lcov-report/prettify.css +0 -1
  63. package/coverage/lcov-report/prettify.js +0 -2
  64. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  65. package/coverage/lcov-report/sorter.js +0 -170
  66. package/coverage/lcov-report/src/controllers.ts.html +0 -113
  67. package/coverage/lcov-report/src/decorator.ts.html +0 -1280
  68. package/coverage/lcov-report/src/filter.ts.html +0 -734
  69. package/coverage/lcov-report/src/http.ts.html +0 -2192
  70. package/coverage/lcov-report/src/index.html +0 -246
  71. package/coverage/lcov-report/src/kernel.ts.html +0 -260
  72. package/coverage/lcov-report/src/middleware.ts.html +0 -428
  73. package/coverage/lcov-report/src/model.ts.html +0 -937
  74. package/coverage/lcov-report/src/module.config.ts.html +0 -89
  75. package/coverage/lcov-report/src/module.ts.html +0 -245
  76. package/coverage/lcov-report/src/router.ts.html +0 -2318
  77. package/coverage/lcov-report/tests/index.html +0 -111
  78. package/coverage/lcov-report/tests/utils.ts.html +0 -176
  79. package/coverage/lcov.info +0 -2225
  80. package/dist/cjs/tests/filter.spec.d.ts +0 -1
  81. package/dist/cjs/tests/filter.spec.js +0 -251
  82. package/dist/cjs/tests/filter.spec.js.map +0 -1
  83. package/dist/cjs/tests/middleware.spec.d.ts +0 -1
  84. package/dist/cjs/tests/middleware.spec.js +0 -471
  85. package/dist/cjs/tests/middleware.spec.js.map +0 -1
  86. package/dist/cjs/tests/model.spec.d.ts +0 -1
  87. package/dist/cjs/tests/model.spec.js +0 -23
  88. package/dist/cjs/tests/model.spec.js.map +0 -1
  89. package/dist/cjs/tests/module.spec.d.ts +0 -1
  90. package/dist/cjs/tests/module.spec.js +0 -46
  91. package/dist/cjs/tests/module.spec.js.map +0 -1
  92. package/dist/cjs/tests/router.spec.d.ts +0 -1
  93. package/dist/cjs/tests/router.spec.js +0 -987
  94. package/dist/cjs/tests/router.spec.js.map +0 -1
  95. package/dist/cjs/tests/utils.d.ts +0 -8
  96. package/dist/cjs/tests/utils.js +0 -30
  97. package/dist/cjs/tests/utils.js.map +0 -1
  98. package/dist/esm/tests/filter.spec.d.ts +0 -1
  99. package/dist/esm/tests/filter.spec.js +0 -249
  100. package/dist/esm/tests/filter.spec.js.map +0 -1
  101. package/dist/esm/tests/middleware.spec.d.ts +0 -1
  102. package/dist/esm/tests/middleware.spec.js +0 -469
  103. package/dist/esm/tests/middleware.spec.js.map +0 -1
  104. package/dist/esm/tests/model.spec.d.ts +0 -1
  105. package/dist/esm/tests/model.spec.js +0 -21
  106. package/dist/esm/tests/model.spec.js.map +0 -1
  107. package/dist/esm/tests/module.spec.d.ts +0 -1
  108. package/dist/esm/tests/module.spec.js +0 -44
  109. package/dist/esm/tests/module.spec.js.map +0 -1
  110. package/dist/esm/tests/router.spec.d.ts +0 -1
  111. package/dist/esm/tests/router.spec.js +0 -985
  112. package/dist/esm/tests/router.spec.js.map +0 -1
  113. package/dist/esm/tests/utils.d.ts +0 -8
  114. package/dist/esm/tests/utils.js +0 -26
  115. package/dist/esm/tests/utils.js.map +0 -1
  116. package/tests/filter.spec.ts +0 -181
  117. package/tests/middleware.spec.ts +0 -440
  118. package/tests/model.spec.ts +0 -26
  119. package/tests/module.spec.ts +0 -32
  120. package/tests/router.spec.ts +0 -781
  121. package/tests/utils.ts +0 -32
@@ -8,11 +8,18 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
8
8
  var __metadata = (this && this.__metadata) || function (k, v) {
9
9
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.HttpListener = exports.HttpResultFormatter = exports.__ΩHttpResultFormatterContext = exports.__ΩSupportedHttpResult = exports.JSONResponse = exports.HtmlResponse = exports.BaseResponse = exports.httpWorkflow = exports.HttpControllerErrorEvent = exports.HttpResponseEvent = exports.HttpControllerEvent = exports.HttpResolveParametersEvent = exports.HttpAccessDeniedEvent = exports.HttpAuthEvent = exports.HttpRouteEvent = exports.HttpWorkflowEventWithRoute = exports.HttpRouteNotFoundEvent = exports.HttpRequestEvent = exports.HttpWorkflowEvent = exports.HttpAccessDeniedError = exports.HttpBadRequestError = exports.HttpNotFoundError = exports.createHttpError = exports.HttpError = exports.Redirect = exports.isElementStruct = void 0;
15
+ exports.HttpListener = exports.HttpResultFormatter = exports.__ΩHttpResultFormatterContext = exports.__ΩSupportedHttpResult = exports.JSONResponse = exports.HtmlResponse = exports.Response = exports.BaseResponse = exports.httpWorkflow = exports.HttpControllerErrorEvent = exports.HttpResponseEvent = exports.HttpControllerEvent = exports.HttpResolveParametersEvent = exports.HttpAccessDeniedEvent = exports.HttpAuthEvent = exports.HttpRouteEvent = exports.HttpWorkflowEventWithRoute = exports.HttpRouteNotFoundEvent = exports.HttpRequestEvent = exports.HttpWorkflowEvent = exports.HttpNotImplementedError = exports.HttpInternalServerError = exports.HttpTooManyRequestsError = exports.HttpGoneError = exports.HttpConflictError = exports.HttpTimeoutError = exports.HttpNotAcceptableError = exports.HttpMethodNotAllowedError = exports.HttpNotFoundError = exports.HttpAccessDeniedError = exports.HttpUnauthorizedError = exports.HttpBadRequestError = exports.createHttpError = exports.HttpError = exports.Redirect = exports.isElementStruct = void 0;
13
16
  const { __ΩClassType } = require('@deepkit/core');
14
17
  const { __ΩRouteParameterResolverForInjector } = require('./router');
15
18
  const { __ΩLoggerInterface } = require('@deepkit/logger');
19
+ function __assignType(fn, args) {
20
+ fn.__type = args;
21
+ return fn;
22
+ }
16
23
  const __ΩError = ['name', 'message', 'stack', 'P&4!&4"&4#8M'];
17
24
  /*
18
25
  * Deepkit Framework
@@ -32,6 +39,7 @@ const router_1 = require("./router");
32
39
  const workflow_1 = require("@deepkit/workflow");
33
40
  const stopwatch_1 = require("@deepkit/stopwatch");
34
41
  const type_1 = require("@deepkit/type");
42
+ const stream_1 = __importDefault(require("stream"));
35
43
  function isElementStruct(v) {
36
44
  return 'object' === typeof v && v.hasOwnProperty('render') && v.hasOwnProperty('attributes') && !v.slice;
37
45
  }
@@ -72,7 +80,7 @@ class HttpError extends core_1.CustomError {
72
80
  }
73
81
  }
74
82
  exports.HttpError = HttpError;
75
- HttpError.__type = ['T', 'message', 'httpCode', 'constructor', 'b!P&2":e"!2#:"0$5'];
83
+ HttpError.__type = ['T', () => core_1.CustomError, 'message', 'httpCode', 'constructor', 'b!P7"P&2#:e"!2$:"0%5'];
76
84
  function createHttpError(code, defaultMessage = '') {
77
85
  var _a;
78
86
  return _a = class extends HttpError {
@@ -81,35 +89,71 @@ function createHttpError(code, defaultMessage = '') {
81
89
  this.message = message;
82
90
  }
83
91
  },
84
- _a.__type = ['message', () => defaultMessage, 'constructor', () => code, 'P&2!:>""0#5Pdi$h!!qe!!!j6"'],
92
+ _a.__type = [() => code, () => HttpError, 'message', () => defaultMessage, 'constructor', () => code, 'PPdi!h!!qe!!!j7"P&2#:>$"0%5Pdi&h!!qe!!!j6"'],
85
93
  _a;
86
94
  }
87
95
  exports.createHttpError = createHttpError;
88
96
  createHttpError.__type = ['code', 'defaultMessage', () => "", () => __ΩClassType, () => HttpError, 'createHttpError', 'P"2!&2">#P"7%o$"/&'];
89
- class HttpNotFoundError extends createHttpError(404, 'Not found') {
90
- }
91
- exports.HttpNotFoundError = HttpNotFoundError;
92
- HttpNotFoundError.__type = ['5'];
93
97
  class HttpBadRequestError extends createHttpError(400, 'Bad request') {
94
98
  }
95
99
  exports.HttpBadRequestError = HttpBadRequestError;
96
- HttpBadRequestError.__type = ['5'];
100
+ HttpBadRequestError.__type = ['"5'];
101
+ class HttpUnauthorizedError extends createHttpError(401, 'Unauthorized') {
102
+ }
103
+ exports.HttpUnauthorizedError = HttpUnauthorizedError;
104
+ HttpUnauthorizedError.__type = ['"5'];
97
105
  class HttpAccessDeniedError extends createHttpError(403, 'Access denied') {
98
106
  }
99
107
  exports.HttpAccessDeniedError = HttpAccessDeniedError;
100
- HttpAccessDeniedError.__type = ['5'];
108
+ HttpAccessDeniedError.__type = ['"5'];
109
+ class HttpNotFoundError extends createHttpError(404, 'Not found') {
110
+ }
111
+ exports.HttpNotFoundError = HttpNotFoundError;
112
+ HttpNotFoundError.__type = ['"5'];
113
+ class HttpMethodNotAllowedError extends createHttpError(405, 'Method not allowed') {
114
+ }
115
+ exports.HttpMethodNotAllowedError = HttpMethodNotAllowedError;
116
+ HttpMethodNotAllowedError.__type = ['"5'];
117
+ class HttpNotAcceptableError extends createHttpError(406, 'Not acceptable') {
118
+ }
119
+ exports.HttpNotAcceptableError = HttpNotAcceptableError;
120
+ HttpNotAcceptableError.__type = ['"5'];
121
+ class HttpTimeoutError extends createHttpError(408, 'Request timeout') {
122
+ }
123
+ exports.HttpTimeoutError = HttpTimeoutError;
124
+ HttpTimeoutError.__type = ['"5'];
125
+ class HttpConflictError extends createHttpError(409, 'Conflict') {
126
+ }
127
+ exports.HttpConflictError = HttpConflictError;
128
+ HttpConflictError.__type = ['"5'];
129
+ class HttpGoneError extends createHttpError(410, 'Gone') {
130
+ }
131
+ exports.HttpGoneError = HttpGoneError;
132
+ HttpGoneError.__type = ['"5'];
133
+ class HttpTooManyRequestsError extends createHttpError(429, 'Too many requests') {
134
+ }
135
+ exports.HttpTooManyRequestsError = HttpTooManyRequestsError;
136
+ HttpTooManyRequestsError.__type = ['"5'];
137
+ class HttpInternalServerError extends createHttpError(500, 'Internal server error') {
138
+ }
139
+ exports.HttpInternalServerError = HttpInternalServerError;
140
+ HttpInternalServerError.__type = ['"5'];
141
+ class HttpNotImplementedError extends createHttpError(501, 'Not implemented') {
142
+ }
143
+ exports.HttpNotImplementedError = HttpNotImplementedError;
144
+ HttpNotImplementedError.__type = ['"5'];
101
145
  class HttpWorkflowEvent {
102
146
  constructor(injectorContext, request, response) {
103
147
  this.injectorContext = injectorContext;
104
148
  this.request = request;
105
149
  this.response = response;
106
- this.stopped = false;
150
+ this.propagationStopped = false;
107
151
  }
108
152
  stopPropagation() {
109
- this.stopped = true;
153
+ this.propagationStopped = true;
110
154
  }
111
- isStopped() {
112
- return this.stopped;
155
+ isPropagationStopped() {
156
+ return this.propagationStopped;
113
157
  }
114
158
  clearNext() {
115
159
  this.nextState = undefined;
@@ -142,7 +186,7 @@ class HttpWorkflowEvent {
142
186
  }
143
187
  }
144
188
  exports.HttpWorkflowEvent = HttpWorkflowEvent;
145
- HttpWorkflowEvent.__type = ['stopPropagation', 'isStopped', 'nextState', 'nextStateEvent', 'clearNext', 'event', 'next', 'hasNext', () => injector_1.InjectorContext, 'injectorContext', () => model_1.HttpRequest, 'request', () => model_1.HttpResponse, 'response', 'constructor', 'send', 'P"0!P"0""3#8"3$8P"0%P&2#"2&8"0\'P)0(PP7)2*:P7+2,:P7-2.:"0/!!P"2."005'];
189
+ HttpWorkflowEvent.__type = ['stopPropagation', 'isPropagationStopped', 'nextState', 'nextStateEvent', 'clearNext', 'event', 'next', 'hasNext', () => injector_1.InjectorContext, 'injectorContext', () => model_1.HttpRequest, 'request', () => model_1.HttpResponse, 'response', 'constructor', 'send', 'P"0!P"0""3#8"3$8P"0%P&2#"2&8"0\'P)0(PP7)2*:P7+2,:P7-2.:"0/!!P"2."005'];
146
190
  exports.HttpRequestEvent = HttpWorkflowEvent;
147
191
  exports.HttpRouteNotFoundEvent = HttpWorkflowEvent;
148
192
  class HttpWorkflowEventWithRoute extends HttpWorkflowEvent {
@@ -161,7 +205,7 @@ class HttpWorkflowEventWithRoute extends HttpWorkflowEvent {
161
205
  }
162
206
  }
163
207
  exports.HttpWorkflowEventWithRoute = HttpWorkflowEventWithRoute;
164
- HttpWorkflowEventWithRoute.__type = [() => injector_1.InjectorContext, 'injectorContext', () => model_1.HttpRequest, 'request', () => model_1.HttpResponse, 'response', () => router_1.RouteConfig, 'route', 'constructor', 'send', 'accessDenied', 'PP7!2":P7#2$:P7%2&:P7\'2(:"0)P"2&"0*P"0+5'];
208
+ HttpWorkflowEventWithRoute.__type = [() => HttpWorkflowEvent, () => injector_1.InjectorContext, 'injectorContext', () => model_1.HttpRequest, 'request', () => model_1.HttpResponse, 'response', () => router_1.RouteConfig, 'route', 'constructor', 'send', 'accessDenied', 'P7!PP7"2#:P7$2%:P7&2\':P7(2):"0*P"2\'"0+P"0,5'];
165
209
  class HttpRouteEvent extends HttpWorkflowEvent {
166
210
  constructor(injectorContext, request, response, parameterResolver, route) {
167
211
  super(injectorContext, request, response);
@@ -180,7 +224,7 @@ class HttpRouteEvent extends HttpWorkflowEvent {
180
224
  }
181
225
  }
182
226
  exports.HttpRouteEvent = HttpRouteEvent;
183
- HttpRouteEvent.__type = [() => injector_1.InjectorContext, 'injectorContext', () => model_1.HttpRequest, 'request', () => model_1.HttpResponse, 'response', () => __ΩRouteParameterResolverForInjector, 'parameterResolver', () => router_1.RouteConfig, 'route', 'constructor', () => router_1.RouteConfig, () => __ΩRouteParameterResolverForInjector, 'routeFound', 'notFound', 'PP7!2":P7#2$:P7%2&:n\'2(8:P7)2*8:"0+PP7,2*n-2("0.P"0/5'];
227
+ HttpRouteEvent.__type = [() => HttpWorkflowEvent, () => injector_1.InjectorContext, 'injectorContext', () => model_1.HttpRequest, 'request', () => model_1.HttpResponse, 'response', () => __ΩRouteParameterResolverForInjector, 'parameterResolver', () => router_1.RouteConfig, 'route', 'constructor', () => router_1.RouteConfig, () => __ΩRouteParameterResolverForInjector, 'routeFound', 'notFound', 'P7!PP7"2#:P7$2%:P7&2\':n(2)8:P7*2+8:"0,PP7-2+n.2)"0/P"005'];
184
228
  class HttpAuthEvent extends HttpWorkflowEventWithRoute {
185
229
  constructor(injectorContext, request, response, route, parameterResolver) {
186
230
  super(injectorContext, request, response, route);
@@ -195,7 +239,7 @@ class HttpAuthEvent extends HttpWorkflowEventWithRoute {
195
239
  }
196
240
  }
197
241
  exports.HttpAuthEvent = HttpAuthEvent;
198
- HttpAuthEvent.__type = [() => injector_1.InjectorContext, 'injectorContext', () => model_1.HttpRequest, 'request', () => model_1.HttpResponse, 'response', () => router_1.RouteConfig, 'route', () => __ΩRouteParameterResolverForInjector, 'parameterResolver', 'constructor', 'success', 'PP7!2":P7#2$:P7%2&:P7\'2(:n)2*:"0+P"0,5'];
242
+ HttpAuthEvent.__type = [() => HttpWorkflowEventWithRoute, () => injector_1.InjectorContext, 'injectorContext', () => model_1.HttpRequest, 'request', () => model_1.HttpResponse, 'response', () => router_1.RouteConfig, 'route', () => __ΩRouteParameterResolverForInjector, 'parameterResolver', 'constructor', 'success', 'P7!PP7"2#:P7$2%:P7&2\':P7(2):n*2+:"0,P"0-5'];
199
243
  class HttpAccessDeniedEvent extends HttpWorkflowEvent {
200
244
  constructor(injectorContext, request, response, route) {
201
245
  super(injectorContext, request, response);
@@ -206,7 +250,7 @@ class HttpAccessDeniedEvent extends HttpWorkflowEvent {
206
250
  }
207
251
  }
208
252
  exports.HttpAccessDeniedEvent = HttpAccessDeniedEvent;
209
- HttpAccessDeniedEvent.__type = [() => injector_1.InjectorContext, 'injectorContext', () => model_1.HttpRequest, 'request', () => model_1.HttpResponse, 'response', () => router_1.RouteConfig, 'route', 'constructor', 'PP7!2":P7#2$:P7%2&:P7\'2(:"0)5'];
253
+ HttpAccessDeniedEvent.__type = [() => HttpWorkflowEvent, () => injector_1.InjectorContext, 'injectorContext', () => model_1.HttpRequest, 'request', () => model_1.HttpResponse, 'response', () => router_1.RouteConfig, 'route', 'constructor', 'P7!PP7"2#:P7$2%:P7&2\':P7(2):"0*5'];
210
254
  class HttpResolveParametersEvent extends HttpWorkflowEventWithRoute {
211
255
  constructor(injectorContext, request, response, parameterResolver, route) {
212
256
  super(injectorContext, request, response, route);
@@ -222,7 +266,7 @@ class HttpResolveParametersEvent extends HttpWorkflowEventWithRoute {
222
266
  }
223
267
  }
224
268
  exports.HttpResolveParametersEvent = HttpResolveParametersEvent;
225
- HttpResolveParametersEvent.__type = ['parameters', function () { return []; }, () => injector_1.InjectorContext, 'injectorContext', () => model_1.HttpRequest, 'request', () => model_1.HttpResponse, 'response', () => __ΩRouteParameterResolverForInjector, 'parameterResolver', () => router_1.RouteConfig, 'route', 'constructor', 'accessDenied', '"F3!>"PP7#2$:P7%2&:P7\'2(:n)2*:P7+2,:"0-P"0.5'];
269
+ HttpResolveParametersEvent.__type = [() => HttpWorkflowEventWithRoute, 'parameters', function () { return []; }, () => injector_1.InjectorContext, 'injectorContext', () => model_1.HttpRequest, 'request', () => model_1.HttpResponse, 'response', () => __ΩRouteParameterResolverForInjector, 'parameterResolver', () => router_1.RouteConfig, 'route', 'constructor', 'accessDenied', 'P7!"F3">#PP7$2%:P7&2\':P7(2):n*2+:P7,2-:"0.P"0/5'];
226
270
  class HttpControllerEvent extends HttpWorkflowEventWithRoute {
227
271
  constructor(injectorContext, request, response, parameters = [], route) {
228
272
  super(injectorContext, request, response, route);
@@ -234,7 +278,7 @@ class HttpControllerEvent extends HttpWorkflowEventWithRoute {
234
278
  }
235
279
  }
236
280
  exports.HttpControllerEvent = HttpControllerEvent;
237
- HttpControllerEvent.__type = [() => injector_1.InjectorContext, 'injectorContext', () => model_1.HttpRequest, 'request', () => model_1.HttpResponse, 'response', 'parameters', () => [], () => router_1.RouteConfig, 'route', 'constructor', 'PP7!2":P7#2$:P7%2&:"F2\':>(P7)2*:"0+5'];
281
+ HttpControllerEvent.__type = [() => HttpWorkflowEventWithRoute, () => injector_1.InjectorContext, 'injectorContext', () => model_1.HttpRequest, 'request', () => model_1.HttpResponse, 'response', 'parameters', () => [], () => router_1.RouteConfig, 'route', 'constructor', 'P7!PP7"2#:P7$2%:P7&2\':"F2(:>)P7*2+:"0,5'];
238
282
  class HttpResponseEvent extends workflow_1.WorkflowEvent {
239
283
  constructor(injectorContext, request, response, result, route) {
240
284
  super();
@@ -250,7 +294,7 @@ class HttpResponseEvent extends workflow_1.WorkflowEvent {
250
294
  }
251
295
  }
252
296
  exports.HttpResponseEvent = HttpResponseEvent;
253
- HttpResponseEvent.__type = ['controllerActionTime', function () { return 0; }, () => injector_1.InjectorContext, 'injectorContext', () => model_1.HttpRequest, 'request', () => model_1.HttpResponse, 'response', 'result', () => router_1.RouteConfig, 'route', 'constructor', '\'3!>"PP7#2$:P7%2&:P7\'2(:"2):P7*2+8:"0,5'];
297
+ HttpResponseEvent.__type = [() => workflow_1.WorkflowEvent, 'controllerActionTime', function () { return 0; }, () => injector_1.InjectorContext, 'injectorContext', () => model_1.HttpRequest, 'request', () => model_1.HttpResponse, 'response', 'result', () => router_1.RouteConfig, 'route', 'constructor', 'P7!\'3">#PP7$2%:P7&2\':P7(2):"2*:P7+2,8:"0-5'];
254
298
  class HttpControllerErrorEvent extends HttpWorkflowEventWithRoute {
255
299
  constructor(injectorContext, request, response, route, error) {
256
300
  super(injectorContext, request, response, route);
@@ -266,7 +310,7 @@ class HttpControllerErrorEvent extends HttpWorkflowEventWithRoute {
266
310
  }
267
311
  }
268
312
  exports.HttpControllerErrorEvent = HttpControllerErrorEvent;
269
- HttpControllerErrorEvent.__type = ['controllerActionTime', function () { return 0; }, () => injector_1.InjectorContext, 'injectorContext', () => model_1.HttpRequest, 'request', () => model_1.HttpResponse, 'response', () => router_1.RouteConfig, 'route', () => __ΩError, 'error', 'constructor', '\'3!>"PP7#2$:P7%2&:P7\'2(:P7)2*:n+2,:"0-5'];
313
+ HttpControllerErrorEvent.__type = [() => HttpWorkflowEventWithRoute, 'controllerActionTime', function () { return 0; }, () => injector_1.InjectorContext, 'injectorContext', () => model_1.HttpRequest, 'request', () => model_1.HttpResponse, 'response', () => router_1.RouteConfig, 'route', () => __ΩError, 'error', 'constructor', 'P7!\'3">#PP7$2%:P7&2\':P7(2):P7*2+:n,2-:"0.5'];
270
314
  exports.httpWorkflow = (0, workflow_1.createWorkflow)('http', {
271
315
  start: workflow_1.WorkflowEvent,
272
316
  request: exports.HttpRequestEvent,
@@ -301,6 +345,10 @@ class BaseResponse {
301
345
  this._statusCode = code;
302
346
  return this;
303
347
  }
348
+ /**
349
+ * Per default a JSONResponse is serialized using the return type specified at the route.
350
+ * This disables that behaviour so that JSON.stringify is run on the result directly.
351
+ */
304
352
  disableAutoSerializing() {
305
353
  this.autoSerializing = false;
306
354
  return this;
@@ -319,7 +367,16 @@ class BaseResponse {
319
367
  }
320
368
  }
321
369
  exports.BaseResponse = BaseResponse;
322
- BaseResponse.__type = ['autoSerializing', function () { return true; }, '_statusCode', '_headers', () => ({}), 'constructor', 'code', 'status', 'disableAutoSerializing', 'name', 'value', 'header', 'headers', 'type', 'contentType', ')3!>"P\'2#8:"2$:>%"0&P\'2\'!0(P"0)P&2*P&\'J2+!0,P"2-!0-P&2.!0/5'];
370
+ BaseResponse.__type = ['autoSerializing', function () { return true; }, '_statusCode', '_headers', () => ({}), 'constructor', 'code', 'status', 'disableAutoSerializing', 'name', 'value', 'header', 'headers', 'type', 'contentType', ')3!>"P\'2#8:!2$:>%"0&P\'2\'!0(P"0)P&2*P&\'J2+!0,P!2-!0-P&2.!0/5'];
371
+ class Response extends BaseResponse {
372
+ constructor(content, contentType, statusCode) {
373
+ super(statusCode);
374
+ this.content = content;
375
+ this.contentType(contentType);
376
+ }
377
+ }
378
+ exports.Response = Response;
379
+ Response.__type = [() => BaseResponse, 'content', 'contentType', 'statusCode', 'constructor', 'P7!PP&WJ2":&2#\'2$8"0%5'];
323
380
  class HtmlResponse extends BaseResponse {
324
381
  constructor(html, statusCode) {
325
382
  super(statusCode);
@@ -327,7 +384,7 @@ class HtmlResponse extends BaseResponse {
327
384
  }
328
385
  }
329
386
  exports.HtmlResponse = HtmlResponse;
330
- HtmlResponse.__type = ['html', 'statusCode', 'constructor', 'P&2!:\'2"8"0#5'];
387
+ HtmlResponse.__type = [() => BaseResponse, 'html', 'statusCode', 'constructor', 'P7!P&2":\'2#8"0$5'];
331
388
  class JSONResponse extends BaseResponse {
332
389
  constructor(json, statusCode) {
333
390
  super(statusCode);
@@ -335,8 +392,8 @@ class JSONResponse extends BaseResponse {
335
392
  }
336
393
  }
337
394
  exports.JSONResponse = JSONResponse;
338
- JSONResponse.__type = ['json', 'statusCode', 'constructor', 'P"2!:\'2"8"0#5'];
339
- const __ΩSupportedHttpResult = [() => JSONResponse, () => HtmlResponse, () => model_1.HttpResponse, () => http_1.ServerResponse, () => Redirect, () => __ΩError, 'P-,\'&P7!P7"P7#P7$P7%Wn&J'];
395
+ JSONResponse.__type = [() => BaseResponse, 'json', 'statusCode', 'constructor', 'P7!P"2":\'2#8"0$5'];
396
+ const __ΩSupportedHttpResult = [() => Response, () => JSONResponse, () => HtmlResponse, () => model_1.HttpResponse, () => Redirect, () => __ΩError, 'P-,\'&P7!P7"P7#P7$!!P7%Wn&J'];
340
397
  exports.__ΩSupportedHttpResult = __ΩSupportedHttpResult;
341
398
  const __ΩHttpResultFormatterContext = [() => model_1.HttpRequest, 'request', () => model_1.HttpResponse, 'response', () => router_1.RouteConfig, 'route', 'PP7!4"P7#4$P7%4&8M'];
342
399
  exports.__ΩHttpResultFormatterContext = __ΩHttpResultFormatterContext;
@@ -378,6 +435,11 @@ class HttpResultFormatter {
378
435
  context.response.writeHead(result._statusCode || 200, result._headers);
379
436
  context.response.end(result.html);
380
437
  }
438
+ handleGenericResponse(result, context) {
439
+ context.response.writeHead(result._statusCode || 200, result._headers);
440
+ console.log('generic response', result.content);
441
+ context.response.end(result.content);
442
+ }
381
443
  handleJSONResponse(result, context) {
382
444
  this.setContentTypeIfNotSetAlready(context.response, this.jsonContentType);
383
445
  context.response.writeHead(result._statusCode || 200, result._headers);
@@ -388,6 +450,9 @@ class HttpResultFormatter {
388
450
  const serializerToUse = route && (route === null || route === void 0 ? void 0 : route.serializer) ? route.serializer : type_1.serializer;
389
451
  context.response.end(JSON.stringify((0, type_1.serialize)(instance, route ? route.serializationOptions : undefined, serializerToUse, undefined, (0, type_1.resolveReceiveType)(classType))));
390
452
  }
453
+ handleStream(stream, context) {
454
+ stream.pipe(context.response);
455
+ }
391
456
  handleBinary(result, context) {
392
457
  context.response.end(result);
393
458
  }
@@ -409,12 +474,18 @@ class HttpResultFormatter {
409
474
  else if (result instanceof HtmlResponse) {
410
475
  this.handleHtmlResponse(result, context);
411
476
  }
477
+ else if (result instanceof stream_1.default.Readable) {
478
+ this.handleStream(result, context);
479
+ }
412
480
  else if (result instanceof Uint8Array) {
413
481
  this.handleBinary(result, context);
414
482
  }
415
483
  else if (result instanceof JSONResponse) {
416
484
  this.handleJSONResponse(result, context);
417
485
  }
486
+ else if (result instanceof Response) {
487
+ this.handleGenericResponse(result, context);
488
+ }
418
489
  else {
419
490
  if ((0, core_1.isClassInstance)(result)) {
420
491
  const classType = (0, core_1.getClassTypeFromInstance)(result);
@@ -428,7 +499,7 @@ class HttpResultFormatter {
428
499
  }
429
500
  }
430
501
  exports.HttpResultFormatter = HttpResultFormatter;
431
- HttpResultFormatter.__type = ['jsonContentType', function () { return 'application/json; charset=utf-8'; }, 'htmlContentType', function () { return 'text/html; charset=utf-8'; }, () => router_1.Router, 'router', 'constructor', () => model_1.HttpResponse, 'response', 'contentType', 'setContentTypeIfNotSetAlready', () => __ΩError, 'error', () => __ΩHttpResultFormatterContext, 'context', 'handleError', 'result', () => __ΩHttpResultFormatterContext, 'handleUndefined', () => Redirect, () => __ΩHttpResultFormatterContext, 'handleRedirect', () => __ΩHttpResultFormatterContext, 'handleUnknown', () => HtmlResponse, () => __ΩHttpResultFormatterContext, 'handleHtmlResponse', () => JSONResponse, () => __ΩHttpResultFormatterContext, 'handleJSONResponse', () => __ΩClassType, 'classType', 'instance', () => __ΩHttpResultFormatterContext, () => router_1.RouteConfig, 'route', 'handleTypeEntity', () => __ΩHttpResultFormatterContext, 'handleBinary', () => __ΩHttpResultFormatterContext, 'handleResponse', () => __ΩSupportedHttpResult, () => __ΩHttpResultFormatterContext, 'handle', '&3!<>"&3#<>$PP7%2&<"0\'PP7(2)&2*$0+<Pn,2-n.2/$00PP-,J21n22/$03PP7421n52/$06P"21n72/$08PP7921n:2/$0;PP7<21n=2/$0>P"o?"2@"2AnB2/P7C2D8$0EPW21nF2/$0GPnH2/"0IPnJ21nK2/$0L5'];
502
+ HttpResultFormatter.__type = ['jsonContentType', function () { return 'application/json; charset=utf-8'; }, 'htmlContentType', function () { return 'text/html; charset=utf-8'; }, () => router_1.HttpRouter, 'router', 'constructor', () => model_1.HttpResponse, 'response', 'contentType', 'setContentTypeIfNotSetAlready', () => __ΩError, 'error', () => __ΩHttpResultFormatterContext, 'context', 'handleError', 'result', () => __ΩHttpResultFormatterContext, 'handleUndefined', () => Redirect, () => __ΩHttpResultFormatterContext, 'handleRedirect', () => __ΩHttpResultFormatterContext, 'handleUnknown', () => HtmlResponse, () => __ΩHttpResultFormatterContext, 'handleHtmlResponse', () => Response, () => __ΩHttpResultFormatterContext, 'handleGenericResponse', () => JSONResponse, () => __ΩHttpResultFormatterContext, 'handleJSONResponse', () => __ΩClassType, 'classType', 'instance', () => __ΩHttpResultFormatterContext, () => router_1.RouteConfig, 'route', 'handleTypeEntity', 'stream', () => __ΩHttpResultFormatterContext, 'handleStream', () => __ΩHttpResultFormatterContext, 'handleBinary', () => __ΩHttpResultFormatterContext, 'handleResponse', () => __ΩSupportedHttpResult, () => __ΩHttpResultFormatterContext, 'handle', '&3!<>"&3#<>$PP7%2&<"0\'PP7(2)&2*$0+<Pn,2-n.2/$00PP-,J21n22/$03PP7421n52/$06P"21n72/$08PP7921n:2/$0;PP7<21n=2/$0>PP7?21n@2/$0AP"oB"2C"2DnE2/P7F2G8$0HP!2InJ2/$0KPW21nL2/$0MPnN2/"0OPnP21nQ2/$0R5'];
432
503
  class HttpListener {
433
504
  constructor(router, logger, resultFormatter, stopwatch) {
434
505
  this.router = router;
@@ -457,7 +528,7 @@ class HttpListener {
457
528
  if (resolved.middlewares) {
458
529
  const middlewares = resolved.middlewares(event.injectorContext);
459
530
  if (middlewares.length) {
460
- await (0, core_1.asyncOperation)(Object.assign(async (resolve, reject) => {
531
+ await (0, core_1.asyncOperation)(__assignType(async (resolve, reject) => {
461
532
  let lastTimer = undefined;
462
533
  function finish() {
463
534
  clearTimeout(lastTimer);
@@ -479,7 +550,7 @@ class HttpListener {
479
550
  next();
480
551
  }, middlewares[i].timeout);
481
552
  try {
482
- await middlewares[i].fn(event.request, event.response, Object.assign((error) => {
553
+ await middlewares[i].fn(event.request, event.response, __assignType((error) => {
483
554
  clearTimeout(lastTimer);
484
555
  if (error) {
485
556
  event.response.off('finish', finish);
@@ -488,7 +559,7 @@ class HttpListener {
488
559
  else {
489
560
  next();
490
561
  }
491
- }, { __type: ['error', '', 'P"2!8"/"'] }));
562
+ }, ['error', '', 'P"2!8"/"']));
492
563
  }
493
564
  catch (error) {
494
565
  reject(error);
@@ -496,7 +567,7 @@ class HttpListener {
496
567
  }
497
568
  next.__type = ['next', 'P"/!'];
498
569
  await next();
499
- }, { __type: ['resolve', 'reject', '', 'P"2!"2""/#'] }));
570
+ }, ['resolve', 'reject', '', 'P"2!"2""/#']));
500
571
  }
501
572
  }
502
573
  event.routeFound(resolved.routeConfig, resolved.parameters);
@@ -555,16 +626,32 @@ class HttpListener {
555
626
  return;
556
627
  if (event.hasNext())
557
628
  return;
558
- const controllerInstance = event.injectorContext.get(event.route.action.controller, event.route.action.module);
559
629
  const start = Date.now();
560
- const frame = this.stopwatch ? this.stopwatch.start((0, core_1.getClassName)(event.route.action.controller) + '.' + event.route.action.methodName, stopwatch_1.FrameCategory.httpController) : undefined;
630
+ const stopWatchLabel = event.route.action.type === 'controller'
631
+ ? (0, core_1.getClassName)(event.route.action.controller) + '.' + event.route.action.methodName
632
+ : event.route.action.fn.name;
633
+ const frame = this.stopwatch ? this.stopwatch.start(stopWatchLabel, stopwatch_1.FrameCategory.httpController) : undefined;
561
634
  try {
562
- const method = controllerInstance[event.route.action.methodName];
563
- let result = await method.apply(controllerInstance, event.parameters);
635
+ let result;
636
+ if (event.route.action.type === 'controller') {
637
+ const controllerInstance = event.injectorContext.get(event.route.action.controller, event.route.action.module);
638
+ const method = controllerInstance[event.route.action.methodName];
639
+ result = await method.apply(controllerInstance, event.parameters);
640
+ }
641
+ else {
642
+ result = await event.route.action.fn(...event.parameters);
643
+ }
564
644
  if (isElementStruct(result)) {
565
645
  const html = await getTemplateRender()(event.injectorContext.getRootInjector(), result, this.stopwatch ? this.stopwatch : undefined);
566
646
  result = new HtmlResponse(html, 200).header('Content-Type', 'text/html; charset=utf-8');
567
647
  }
648
+ if (result instanceof stream_1.default.Readable) {
649
+ const stream = result;
650
+ await new Promise(__assignType((resolve, reject) => {
651
+ stream.once('readable', resolve);
652
+ stream.once('error', reject);
653
+ }, ['resolve', 'reject', '', 'P"2!"2""/#']));
654
+ }
568
655
  const responseEvent = new HttpResponseEvent(event.injectorContext, event.request, event.response, result, event.route);
569
656
  responseEvent.controllerActionTime = Date.now() - start;
570
657
  event.next('response', responseEvent);
@@ -643,7 +730,7 @@ class HttpListener {
643
730
  return;
644
731
  if (event.result === undefined || event.result === null)
645
732
  return;
646
- if (event.result instanceof HtmlResponse || event.result instanceof http_1.ServerResponse || event.result instanceof Redirect) {
733
+ if (event.result instanceof HtmlResponse || event.result instanceof http_1.ServerResponse || event.result instanceof Redirect || event.result instanceof stream_1.default.Readable) {
647
734
  // don't do anything
648
735
  }
649
736
  else if (event.result instanceof JSONResponse) {
@@ -654,7 +741,7 @@ class HttpListener {
654
741
  const serialize = (0, type_1.getSerializeFunction)(schema, serializerToUse.serializeRegistry);
655
742
  event.result.json = serialize(event.result.json, event.route.serializationOptions);
656
743
  }
657
- else if (event.route.returnType && event.route.returnType.kind !== 1 /* any */) {
744
+ else if (event.route.returnType && event.route.returnType.kind !== type_1.ReflectionKind.any) {
658
745
  const serializerToUse = event.route && event.route.serializer ? event.route.serializer : type_1.serializer;
659
746
  const serialize = (0, type_1.getSerializeFunction)(event.route.returnType, serializerToUse.serializeRegistry);
660
747
  event.result = serialize(event.result, event.route.serializationOptions);
@@ -672,9 +759,13 @@ class HttpListener {
672
759
  if (event.response.headersSent)
673
760
  return;
674
761
  this.resultFormatter.handle(event.result, event);
762
+ await new Promise(__assignType((resolve, reject) => {
763
+ event.response.once('finish', resolve);
764
+ event.response.once('error', reject);
765
+ }, ['resolve', 'reject', '', 'P"2!"2""/#']));
675
766
  }
676
767
  }
677
- HttpListener.__type = [() => router_1.Router, 'router', () => __ΩLoggerInterface, 'logger', () => HttpResultFormatter, 'resultFormatter', () => stopwatch_1.Stopwatch, 'stopwatch', 'constructor', () => exports.httpWorkflow.onRequest.event, 'event', 'onRequest', () => exports.httpWorkflow.onRoute.event, 'onRoute', () => exports.httpWorkflow.onRoute.event, 'onRouteForward', () => exports.httpWorkflow.onRouteNotFound.event, 'routeNotFound', () => exports.httpWorkflow.onAuth.event, 'onAuth', () => exports.httpWorkflow.onResolveParameters.event, 'onResolveParameters', () => exports.httpWorkflow.onAccessDenied.event, 'onAccessDenied', () => exports.httpWorkflow.onController.event, 'onController', () => exports.httpWorkflow.onParametersFailed.event, 'onParametersFailed', () => exports.httpWorkflow.onControllerError.event, 'onControllerError', () => exports.httpWorkflow.onResponse.event, 'onResultSerialization', () => exports.httpWorkflow.onResponse.event, 'onResponse', 'PP7!2"<n#2$<P7%2&<P7\'2(8<"0)Pi*2+$0,Pi-2+"0.Pi/2+"00Pi12+$`02Pi32+$04Pi52+"06Pi72+$08Pi92+"0:Pi;2+$0<Pi=2+$0>Pi?2+"0@PiA2+"0B5'];
768
+ HttpListener.__type = [() => router_1.HttpRouter, 'router', () => __ΩLoggerInterface, 'logger', () => HttpResultFormatter, 'resultFormatter', () => stopwatch_1.Stopwatch, 'stopwatch', 'constructor', () => exports.httpWorkflow.onRequest.event, 'event', 'onRequest', () => exports.httpWorkflow.onRoute.event, 'onRoute', () => exports.httpWorkflow.onRoute.event, 'onRouteForward', () => exports.httpWorkflow.onRouteNotFound.event, 'routeNotFound', () => exports.httpWorkflow.onAuth.event, 'onAuth', () => exports.httpWorkflow.onResolveParameters.event, 'onResolveParameters', () => exports.httpWorkflow.onAccessDenied.event, 'onAccessDenied', () => exports.httpWorkflow.onController.event, 'onController', () => exports.httpWorkflow.onParametersFailed.event, 'onParametersFailed', () => exports.httpWorkflow.onControllerError.event, 'onControllerError', () => exports.httpWorkflow.onResponse.event, 'onResultSerialization', () => exports.httpWorkflow.onResponse.event, 'onResponse', 'PP7!2"<n#2$<P7%2&<P7\'2(8<"0)Pi*2+$0,Pi-2+"0.Pi/2+"00Pi12+$`02Pi32+$04Pi52+"06Pi72+$08Pi92+"0:Pi;2+$0<Pi=2+$0>Pi?2+"0@PiA2+"0B5'];
678
769
  __decorate([
679
770
  event_1.eventDispatcher.listen(exports.httpWorkflow.onRequest, 100),
680
771
  __metadata("design:type", Function),
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/http.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/http.ts"],"names":[],"mappings":"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"}
@@ -1,16 +1,16 @@
1
1
  import { InjectorContext } from '@deepkit/injector';
2
- import { Router } from './router';
2
+ import { HttpRouter } from './router';
3
3
  import { EventDispatcher } from '@deepkit/event';
4
4
  import { LoggerInterface } from '@deepkit/logger';
5
5
  import { HttpRequest, HttpResponse, MemoryHttpResponse, RequestBuilder } from './model';
6
6
  import { Stopwatch } from '@deepkit/stopwatch';
7
7
  export declare class HttpKernel {
8
- protected router: Router;
8
+ protected router: HttpRouter;
9
9
  protected eventDispatcher: EventDispatcher;
10
10
  protected injectorContext: InjectorContext;
11
11
  protected logger: LoggerInterface;
12
12
  protected stopwatch?: Stopwatch | undefined;
13
- constructor(router: Router, eventDispatcher: EventDispatcher, injectorContext: InjectorContext, logger: LoggerInterface, stopwatch?: Stopwatch | undefined);
13
+ constructor(router: HttpRouter, eventDispatcher: EventDispatcher, injectorContext: InjectorContext, logger: LoggerInterface, stopwatch?: Stopwatch | undefined);
14
14
  request(requestBuilder: RequestBuilder): Promise<MemoryHttpResponse>;
15
15
  handleRequest(req: HttpRequest, res: HttpResponse): Promise<void>;
16
16
  }
@@ -57,5 +57,5 @@ class HttpKernel {
57
57
  }
58
58
  }
59
59
  exports.HttpKernel = HttpKernel;
60
- HttpKernel.__type = [() => router_1.Router, 'router', () => event_1.EventDispatcher, 'eventDispatcher', () => injector_1.InjectorContext, 'injectorContext', () => __ΩLoggerInterface, 'logger', () => stopwatch_1.Stopwatch, 'stopwatch', 'constructor', () => model_1.RequestBuilder, 'requestBuilder', () => model_1.MemoryHttpResponse, 'request', () => model_1.HttpRequest, 'req', () => model_1.HttpResponse, 'res', 'handleRequest', 'PP7!2"<P7#2$<P7%2&<n\'2(<P7)2*8<"0+PP7,2-P7.`0/PP7021P7223"045'];
60
+ HttpKernel.__type = [() => router_1.HttpRouter, 'router', () => event_1.EventDispatcher, 'eventDispatcher', () => injector_1.InjectorContext, 'injectorContext', () => __ΩLoggerInterface, 'logger', () => stopwatch_1.Stopwatch, 'stopwatch', 'constructor', () => model_1.RequestBuilder, 'requestBuilder', () => model_1.MemoryHttpResponse, 'request', () => model_1.HttpRequest, 'req', () => model_1.HttpResponse, 'res', 'handleRequest', 'PP7!2"<P7#2$<P7%2&<n\'2(<P7)2*8<"0+PP7,2-P7.`0/PP7021P7223"045'];
61
61
  //# sourceMappingURL=kernel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../../src/kernel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"kernel.js","sourceRoot":"","sources":["../../../src/kernel.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /// <reference types="node" />
2
- import { IncomingMessage, ServerResponse } from 'http';
2
+ import { IncomingMessage, OutgoingHttpHeader, OutgoingHttpHeaders, ServerResponse } from 'http';
3
3
  import { UploadedFile } from './router';
4
4
  import { Type, ValidationErrorItem } from '@deepkit/type';
5
5
  export declare class HttpResponse extends ServerResponse {
@@ -57,10 +57,10 @@ export declare type HttpQueries<T, Options extends {
57
57
  * }
58
58
  * ```
59
59
  */
60
- export declare type HttpRegExp<T, Pattern extends string> = T & {
60
+ export declare type HttpRegExp<T, Pattern extends string | RegExp> = T & {
61
61
  __meta?: ['httpRegExp', Pattern];
62
62
  };
63
- export declare function getRegExp(type: Type): string | undefined;
63
+ export declare function getRegExp(type: Type): string | RegExp | undefined;
64
64
  export declare class RequestBuilder {
65
65
  protected path: string;
66
66
  protected method: string;
@@ -111,6 +111,14 @@ export declare class HttpRequest extends IncomingMessage {
111
111
  }
112
112
  export declare class MemoryHttpResponse extends HttpResponse {
113
113
  body: Buffer;
114
+ headers: {
115
+ [name: string]: number | string | string[] | undefined;
116
+ };
117
+ setHeader(name: string, value: number | string | ReadonlyArray<string>): this;
118
+ removeHeader(name: string): void;
119
+ getHeader(name: string): string | number | string[] | undefined;
120
+ getHeaders(): OutgoingHttpHeaders;
121
+ writeHead(statusCode: number, headersOrReasonPhrase?: string | OutgoingHttpHeaders | OutgoingHttpHeader[], headers?: OutgoingHttpHeaders | OutgoingHttpHeader[]): this;
114
122
  get json(): any;
115
123
  get bodyString(): string;
116
124
  write(chunk: any, encoding: any, callback?: any): any;