@deepkit/http 1.0.1-alpha.68 → 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 +128 -37
  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 +101 -23
  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
@@ -10,6 +10,10 @@ var __metadata = (this && this.__metadata) || function (k, v) {
10
10
  import { __ΩClassType as __ΩClassType } from '@deepkit/core';
11
11
  import { __ΩRouteParameterResolverForInjector as __ΩRouteParameterResolverForInjector } from './router';
12
12
  import { __ΩLoggerInterface as __ΩLoggerInterface } from '@deepkit/logger';
13
+ function __assignType(fn, args) {
14
+ fn.__type = args;
15
+ return fn;
16
+ }
13
17
  const __ΩError = ['name', 'message', 'stack', 'P&4!&4"&4#8M'];
14
18
  /*
15
19
  * Deepkit Framework
@@ -25,10 +29,11 @@ import { ServerResponse } from 'http';
25
29
  import { eventDispatcher } from '@deepkit/event';
26
30
  import { HttpRequest, HttpResponse } from './model';
27
31
  import { InjectorContext } from '@deepkit/injector';
28
- import { RouteConfig, Router } from './router';
32
+ import { HttpRouter, RouteConfig } from './router';
29
33
  import { createWorkflow, WorkflowEvent } from '@deepkit/workflow';
30
34
  import { FrameCategory, Stopwatch } from '@deepkit/stopwatch';
31
- import { getSerializeFunction, hasTypeInformation, resolveReceiveType, SerializationError, serialize, serializer, ValidationError } from '@deepkit/type';
35
+ import { getSerializeFunction, hasTypeInformation, ReflectionKind, resolveReceiveType, SerializationError, serialize, serializer, ValidationError } from '@deepkit/type';
36
+ import stream from 'stream';
32
37
  export function isElementStruct(v) {
33
38
  return 'object' === typeof v && v.hasOwnProperty('render') && v.hasOwnProperty('attributes') && !v.slice;
34
39
  }
@@ -79,27 +84,54 @@ export function createHttpError(code, defaultMessage = '') {
79
84
  _a;
80
85
  }
81
86
  createHttpError.__type = ['code', 'defaultMessage', () => "", () => __ΩClassType, () => HttpError, 'createHttpError', 'P"2!&2">#P"7%o$"/&'];
82
- export class HttpNotFoundError extends createHttpError(404, 'Not found') {
83
- }
84
- HttpNotFoundError.__type = ['5'];
85
87
  export class HttpBadRequestError extends createHttpError(400, 'Bad request') {
86
88
  }
87
89
  HttpBadRequestError.__type = ['5'];
90
+ export class HttpUnauthorizedError extends createHttpError(401, 'Unauthorized') {
91
+ }
92
+ HttpUnauthorizedError.__type = ['5'];
88
93
  export class HttpAccessDeniedError extends createHttpError(403, 'Access denied') {
89
94
  }
90
95
  HttpAccessDeniedError.__type = ['5'];
96
+ export class HttpNotFoundError extends createHttpError(404, 'Not found') {
97
+ }
98
+ HttpNotFoundError.__type = ['5'];
99
+ export class HttpMethodNotAllowedError extends createHttpError(405, 'Method not allowed') {
100
+ }
101
+ HttpMethodNotAllowedError.__type = ['5'];
102
+ export class HttpNotAcceptableError extends createHttpError(406, 'Not acceptable') {
103
+ }
104
+ HttpNotAcceptableError.__type = ['5'];
105
+ export class HttpTimeoutError extends createHttpError(408, 'Request timeout') {
106
+ }
107
+ HttpTimeoutError.__type = ['5'];
108
+ export class HttpConflictError extends createHttpError(409, 'Conflict') {
109
+ }
110
+ HttpConflictError.__type = ['5'];
111
+ export class HttpGoneError extends createHttpError(410, 'Gone') {
112
+ }
113
+ HttpGoneError.__type = ['5'];
114
+ export class HttpTooManyRequestsError extends createHttpError(429, 'Too many requests') {
115
+ }
116
+ HttpTooManyRequestsError.__type = ['5'];
117
+ export class HttpInternalServerError extends createHttpError(500, 'Internal server error') {
118
+ }
119
+ HttpInternalServerError.__type = ['5'];
120
+ export class HttpNotImplementedError extends createHttpError(501, 'Not implemented') {
121
+ }
122
+ HttpNotImplementedError.__type = ['5'];
91
123
  export class HttpWorkflowEvent {
92
124
  constructor(injectorContext, request, response) {
93
125
  this.injectorContext = injectorContext;
94
126
  this.request = request;
95
127
  this.response = response;
96
- this.stopped = false;
128
+ this.propagationStopped = false;
97
129
  }
98
130
  stopPropagation() {
99
- this.stopped = true;
131
+ this.propagationStopped = true;
100
132
  }
101
- isStopped() {
102
- return this.stopped;
133
+ isPropagationStopped() {
134
+ return this.propagationStopped;
103
135
  }
104
136
  clearNext() {
105
137
  this.nextState = undefined;
@@ -131,7 +163,7 @@ export class HttpWorkflowEvent {
131
163
  this.next('response', new HttpResponseEvent(this.injectorContext, this.request, this.response, response));
132
164
  }
133
165
  }
134
- HttpWorkflowEvent.__type = ['stopPropagation', 'isStopped', 'nextState', 'nextStateEvent', 'clearNext', 'event', 'next', 'hasNext', () => InjectorContext, 'injectorContext', () => HttpRequest, 'request', () => 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'];
166
+ HttpWorkflowEvent.__type = ['stopPropagation', 'isPropagationStopped', 'nextState', 'nextStateEvent', 'clearNext', 'event', 'next', 'hasNext', () => InjectorContext, 'injectorContext', () => HttpRequest, 'request', () => 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'];
135
167
  export const HttpRequestEvent = HttpWorkflowEvent;
136
168
  export const HttpRouteNotFoundEvent = HttpWorkflowEvent;
137
169
  export class HttpWorkflowEventWithRoute extends HttpWorkflowEvent {
@@ -282,6 +314,10 @@ export class BaseResponse {
282
314
  this._statusCode = code;
283
315
  return this;
284
316
  }
317
+ /**
318
+ * Per default a JSONResponse is serialized using the return type specified at the route.
319
+ * This disables that behaviour so that JSON.stringify is run on the result directly.
320
+ */
285
321
  disableAutoSerializing() {
286
322
  this.autoSerializing = false;
287
323
  return this;
@@ -300,6 +336,14 @@ export class BaseResponse {
300
336
  }
301
337
  }
302
338
  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'];
339
+ export class Response extends BaseResponse {
340
+ constructor(content, contentType, statusCode) {
341
+ super(statusCode);
342
+ this.content = content;
343
+ this.contentType(contentType);
344
+ }
345
+ }
346
+ Response.__type = ['content', 'contentType', 'statusCode', 'constructor', 'PP&WJ2!:&2"\'2#8"0$5'];
303
347
  export class HtmlResponse extends BaseResponse {
304
348
  constructor(html, statusCode) {
305
349
  super(statusCode);
@@ -314,7 +358,7 @@ export class JSONResponse extends BaseResponse {
314
358
  }
315
359
  }
316
360
  JSONResponse.__type = ['json', 'statusCode', 'constructor', 'P"2!:\'2"8"0#5'];
317
- const __ΩSupportedHttpResult = [() => JSONResponse, () => HtmlResponse, () => HttpResponse, () => Redirect, () => __ΩError, 'P-,\'&P7!P7"P7#!P7$Wn%J'];
361
+ const __ΩSupportedHttpResult = [() => Response, () => JSONResponse, () => HtmlResponse, () => HttpResponse, () => Redirect, () => __ΩError, 'P-,\'&P7!P7"P7#P7$!!P7%Wn&J'];
318
362
  export { __ΩSupportedHttpResult as __ΩSupportedHttpResult };
319
363
  const __ΩHttpResultFormatterContext = [() => HttpRequest, 'request', () => HttpResponse, 'response', () => RouteConfig, 'route', 'PP7!4"P7#4$P7%4&8M'];
320
364
  export { __ΩHttpResultFormatterContext as __ΩHttpResultFormatterContext };
@@ -356,6 +400,11 @@ export class HttpResultFormatter {
356
400
  context.response.writeHead(result._statusCode || 200, result._headers);
357
401
  context.response.end(result.html);
358
402
  }
403
+ handleGenericResponse(result, context) {
404
+ context.response.writeHead(result._statusCode || 200, result._headers);
405
+ console.log('generic response', result.content);
406
+ context.response.end(result.content);
407
+ }
359
408
  handleJSONResponse(result, context) {
360
409
  this.setContentTypeIfNotSetAlready(context.response, this.jsonContentType);
361
410
  context.response.writeHead(result._statusCode || 200, result._headers);
@@ -366,6 +415,9 @@ export class HttpResultFormatter {
366
415
  const serializerToUse = route && (route === null || route === void 0 ? void 0 : route.serializer) ? route.serializer : serializer;
367
416
  context.response.end(JSON.stringify(serialize(instance, route ? route.serializationOptions : undefined, serializerToUse, undefined, resolveReceiveType(classType))));
368
417
  }
418
+ handleStream(stream, context) {
419
+ stream.pipe(context.response);
420
+ }
369
421
  handleBinary(result, context) {
370
422
  context.response.end(result);
371
423
  }
@@ -387,12 +439,18 @@ export class HttpResultFormatter {
387
439
  else if (result instanceof HtmlResponse) {
388
440
  this.handleHtmlResponse(result, context);
389
441
  }
442
+ else if (result instanceof stream.Readable) {
443
+ this.handleStream(result, context);
444
+ }
390
445
  else if (result instanceof Uint8Array) {
391
446
  this.handleBinary(result, context);
392
447
  }
393
448
  else if (result instanceof JSONResponse) {
394
449
  this.handleJSONResponse(result, context);
395
450
  }
451
+ else if (result instanceof Response) {
452
+ this.handleGenericResponse(result, context);
453
+ }
396
454
  else {
397
455
  if (isClassInstance(result)) {
398
456
  const classType = getClassTypeFromInstance(result);
@@ -405,7 +463,7 @@ export class HttpResultFormatter {
405
463
  }
406
464
  }
407
465
  }
408
- HttpResultFormatter.__type = ['jsonContentType', function () { return 'application/json; charset=utf-8'; }, 'htmlContentType', function () { return 'text/html; charset=utf-8'; }, () => Router, 'router', 'constructor', () => 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, () => 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'];
466
+ HttpResultFormatter.__type = ['jsonContentType', function () { return 'application/json; charset=utf-8'; }, 'htmlContentType', function () { return 'text/html; charset=utf-8'; }, () => HttpRouter, 'router', 'constructor', () => 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, () => 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'];
409
467
  export class HttpListener {
410
468
  constructor(router, logger, resultFormatter, stopwatch) {
411
469
  this.router = router;
@@ -434,7 +492,7 @@ export class HttpListener {
434
492
  if (resolved.middlewares) {
435
493
  const middlewares = resolved.middlewares(event.injectorContext);
436
494
  if (middlewares.length) {
437
- await asyncOperation(Object.assign(async (resolve, reject) => {
495
+ await asyncOperation(__assignType(async (resolve, reject) => {
438
496
  let lastTimer = undefined;
439
497
  function finish() {
440
498
  clearTimeout(lastTimer);
@@ -456,7 +514,7 @@ export class HttpListener {
456
514
  next();
457
515
  }, middlewares[i].timeout);
458
516
  try {
459
- await middlewares[i].fn(event.request, event.response, Object.assign((error) => {
517
+ await middlewares[i].fn(event.request, event.response, __assignType((error) => {
460
518
  clearTimeout(lastTimer);
461
519
  if (error) {
462
520
  event.response.off('finish', finish);
@@ -465,7 +523,7 @@ export class HttpListener {
465
523
  else {
466
524
  next();
467
525
  }
468
- }, { __type: ['error', '', 'P"2!8"/"'] }));
526
+ }, ['error', '', 'P"2!8"/"']));
469
527
  }
470
528
  catch (error) {
471
529
  reject(error);
@@ -473,7 +531,7 @@ export class HttpListener {
473
531
  }
474
532
  next.__type = ['next', 'P"/!'];
475
533
  await next();
476
- }, { __type: ['resolve', 'reject', '', 'P"2!"2""/#'] }));
534
+ }, ['resolve', 'reject', '', 'P"2!"2""/#']));
477
535
  }
478
536
  }
479
537
  event.routeFound(resolved.routeConfig, resolved.parameters);
@@ -532,16 +590,32 @@ export class HttpListener {
532
590
  return;
533
591
  if (event.hasNext())
534
592
  return;
535
- const controllerInstance = event.injectorContext.get(event.route.action.controller, event.route.action.module);
536
593
  const start = Date.now();
537
- const frame = this.stopwatch ? this.stopwatch.start(getClassName(event.route.action.controller) + '.' + event.route.action.methodName, FrameCategory.httpController) : undefined;
594
+ const stopWatchLabel = event.route.action.type === 'controller'
595
+ ? getClassName(event.route.action.controller) + '.' + event.route.action.methodName
596
+ : event.route.action.fn.name;
597
+ const frame = this.stopwatch ? this.stopwatch.start(stopWatchLabel, FrameCategory.httpController) : undefined;
538
598
  try {
539
- const method = controllerInstance[event.route.action.methodName];
540
- let result = await method.apply(controllerInstance, event.parameters);
599
+ let result;
600
+ if (event.route.action.type === 'controller') {
601
+ const controllerInstance = event.injectorContext.get(event.route.action.controller, event.route.action.module);
602
+ const method = controllerInstance[event.route.action.methodName];
603
+ result = await method.apply(controllerInstance, event.parameters);
604
+ }
605
+ else {
606
+ result = await event.route.action.fn(...event.parameters);
607
+ }
541
608
  if (isElementStruct(result)) {
542
609
  const html = await getTemplateRender()(event.injectorContext.getRootInjector(), result, this.stopwatch ? this.stopwatch : undefined);
543
610
  result = new HtmlResponse(html, 200).header('Content-Type', 'text/html; charset=utf-8');
544
611
  }
612
+ if (result instanceof stream.Readable) {
613
+ const stream = result;
614
+ await new Promise(__assignType((resolve, reject) => {
615
+ stream.once('readable', resolve);
616
+ stream.once('error', reject);
617
+ }, ['resolve', 'reject', '', 'P"2!"2""/#']));
618
+ }
545
619
  const responseEvent = new HttpResponseEvent(event.injectorContext, event.request, event.response, result, event.route);
546
620
  responseEvent.controllerActionTime = Date.now() - start;
547
621
  event.next('response', responseEvent);
@@ -620,7 +694,7 @@ export class HttpListener {
620
694
  return;
621
695
  if (event.result === undefined || event.result === null)
622
696
  return;
623
- if (event.result instanceof HtmlResponse || event.result instanceof ServerResponse || event.result instanceof Redirect) {
697
+ if (event.result instanceof HtmlResponse || event.result instanceof ServerResponse || event.result instanceof Redirect || event.result instanceof stream.Readable) {
624
698
  // don't do anything
625
699
  }
626
700
  else if (event.result instanceof JSONResponse) {
@@ -631,7 +705,7 @@ export class HttpListener {
631
705
  const serialize = getSerializeFunction(schema, serializerToUse.serializeRegistry);
632
706
  event.result.json = serialize(event.result.json, event.route.serializationOptions);
633
707
  }
634
- else if (event.route.returnType && event.route.returnType.kind !== 1 /* any */) {
708
+ else if (event.route.returnType && event.route.returnType.kind !== ReflectionKind.any) {
635
709
  const serializerToUse = event.route && event.route.serializer ? event.route.serializer : serializer;
636
710
  const serialize = getSerializeFunction(event.route.returnType, serializerToUse.serializeRegistry);
637
711
  event.result = serialize(event.result, event.route.serializationOptions);
@@ -649,9 +723,13 @@ export class HttpListener {
649
723
  if (event.response.headersSent)
650
724
  return;
651
725
  this.resultFormatter.handle(event.result, event);
726
+ await new Promise(__assignType((resolve, reject) => {
727
+ event.response.once('finish', resolve);
728
+ event.response.once('error', reject);
729
+ }, ['resolve', 'reject', '', 'P"2!"2""/#']));
652
730
  }
653
731
  }
654
- HttpListener.__type = [() => Router, 'router', () => __ΩLoggerInterface, 'logger', () => HttpResultFormatter, 'resultFormatter', () => Stopwatch, 'stopwatch', 'constructor', () => httpWorkflow.onRequest.event, 'event', 'onRequest', () => httpWorkflow.onRoute.event, 'onRoute', () => httpWorkflow.onRoute.event, 'onRouteForward', () => httpWorkflow.onRouteNotFound.event, 'routeNotFound', () => httpWorkflow.onAuth.event, 'onAuth', () => httpWorkflow.onResolveParameters.event, 'onResolveParameters', () => httpWorkflow.onAccessDenied.event, 'onAccessDenied', () => httpWorkflow.onController.event, 'onController', () => httpWorkflow.onParametersFailed.event, 'onParametersFailed', () => httpWorkflow.onControllerError.event, 'onControllerError', () => httpWorkflow.onResponse.event, 'onResultSerialization', () => 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'];
732
+ HttpListener.__type = [() => HttpRouter, 'router', () => __ΩLoggerInterface, 'logger', () => HttpResultFormatter, 'resultFormatter', () => Stopwatch, 'stopwatch', 'constructor', () => httpWorkflow.onRequest.event, 'event', 'onRequest', () => httpWorkflow.onRoute.event, 'onRoute', () => httpWorkflow.onRoute.event, 'onRouteForward', () => httpWorkflow.onRouteNotFound.event, 'routeNotFound', () => httpWorkflow.onAuth.event, 'onAuth', () => httpWorkflow.onResolveParameters.event, 'onResolveParameters', () => httpWorkflow.onAccessDenied.event, 'onAccessDenied', () => httpWorkflow.onController.event, 'onController', () => httpWorkflow.onParametersFailed.event, 'onParametersFailed', () => httpWorkflow.onControllerError.event, 'onControllerError', () => httpWorkflow.onResponse.event, 'onResultSerialization', () => 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'];
655
733
  __decorate([
656
734
  eventDispatcher.listen(httpWorkflow.onRequest, 100),
657
735
  __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
  }
@@ -1,6 +1,6 @@
1
1
  import { __ΩLoggerInterface as __ΩLoggerInterface } from '@deepkit/logger';
2
2
  import { InjectorContext } from '@deepkit/injector';
3
- import { Router } from './router';
3
+ import { HttpRouter } from './router';
4
4
  import { EventDispatcher } from '@deepkit/event';
5
5
  import { HttpRequest, HttpResponse, MemoryHttpResponse, RequestBuilder } from './model';
6
6
  import { HttpRequestEvent, httpWorkflow } from './http';
@@ -53,5 +53,5 @@ export class HttpKernel {
53
53
  }
54
54
  }
55
55
  }
56
- HttpKernel.__type = [() => Router, 'router', () => EventDispatcher, 'eventDispatcher', () => InjectorContext, 'injectorContext', () => __ΩLoggerInterface, 'logger', () => Stopwatch, 'stopwatch', 'constructor', () => RequestBuilder, 'requestBuilder', () => MemoryHttpResponse, 'request', () => HttpRequest, 'req', () => HttpResponse, 'res', 'handleRequest', 'PP7!2"<P7#2$<P7%2&<n\'2(<P7)2*8<"0+PP7,2-P7.`0/PP7021P7223"045'];
56
+ HttpKernel.__type = [() => HttpRouter, 'router', () => EventDispatcher, 'eventDispatcher', () => InjectorContext, 'injectorContext', () => __ΩLoggerInterface, 'logger', () => Stopwatch, 'stopwatch', 'constructor', () => RequestBuilder, 'requestBuilder', () => MemoryHttpResponse, 'request', () => HttpRequest, 'req', () => HttpResponse, 'res', 'handleRequest', 'PP7!2"<P7#2$<P7%2&<n\'2(<P7)2*8<"0+PP7,2-P7.`0/PP7021P7223"045'];
57
57
  //# 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;
@@ -1,3 +1,9 @@
1
+ function __assignType(fn, args) {
2
+ fn.__type = args;
3
+ return fn;
4
+ }
5
+ 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'];
6
+ 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\'2324!/526"278!18PPe$!22\'2324#/526"278)18PPe$!22\'2324#/526"278)19PPe$!22\'2324$/52:"278$1;PPe$!22\'2324"/52:"278"F1<PPe$!22\'2324!/526"278"F1=PPe$!22\'2324#/526"278e#!F1=PPe$!2>e$!2?\'2@24e$!/52:e#!1APPe$!2>e$!2?\'2@24e$!/52:e#!2Be#!1APP"2>e$!2?\'2@24"/52:"2B"1APPe$!2>e$!2?\'2@24e$!/52:e#!1CPPe$!2>e$!2?\'2@24e$!/52:e#!2Be#!1CPP"2>e$!2?\'2@24"/52:"2B"1C\'e"!LM'];
1
7
  /*
2
8
  * Deepkit Framework
3
9
  * Copyright (C) 2021 Deepkit UG, Marc J. Schmidt
@@ -11,7 +17,8 @@ import { IncomingMessage, ServerResponse } from 'http';
11
17
  import { UploadedFile } from './router';
12
18
  import * as querystring from 'querystring';
13
19
  import { Writable } from 'stream';
14
- import { metaAnnotation, ValidationErrorItem } from '@deepkit/type';
20
+ import { metaAnnotation, ReflectionKind, ValidationErrorItem } from '@deepkit/type';
21
+ import { isArray } from '@deepkit/core';
15
22
  export class HttpResponse extends ServerResponse {
16
23
  status(code) {
17
24
  this.writeHead(code);
@@ -32,14 +39,14 @@ export class BodyValidationError {
32
39
  }
33
40
  getErrors(prefix) {
34
41
  if (prefix)
35
- return this.errors.filter(Object.assign(v => v.path.startsWith(prefix), { __type: ['v', '', 'P"2!"/"'] }));
42
+ return this.errors.filter(__assignType(v => v.path.startsWith(prefix), ['v', '', 'P"2!"/"']));
36
43
  return this.errors;
37
44
  }
38
45
  getErrorsForPath(path) {
39
- return this.errors.filter(Object.assign(v => v.path === path, { __type: ['v', '', 'P"2!"/"'] }));
46
+ return this.errors.filter(__assignType(v => v.path === path, ['v', '', 'P"2!"/"']));
40
47
  }
41
48
  getErrorMessageForPath(path) {
42
- return this.getErrorsForPath(path).map(Object.assign(v => v.message, { __type: ['v', '', 'P"2!"/"'] })).join(', ');
49
+ return this.getErrorsForPath(path).map(__assignType(v => v.message, ['v', '', 'P"2!"/"'])).join(', ');
43
50
  }
44
51
  }
45
52
  BodyValidationError.__type = [() => ValidationErrorItem, 'errors', () => [], 'constructor', 'prefix', 'hasErrors', () => ValidationErrorItem, 'getErrors', 'path', () => ValidationErrorItem, 'getErrorsForPath', 'getErrorMessageForPath', 'PP7!F2":>#"0$P&2%8)0&P&2%8P7\'F0(P&2)P7*F0+P&2)&0,5'];
@@ -67,11 +74,13 @@ export function getRegExp(type) {
67
74
  const options = metaAnnotation.getForName(type, 'httpRegExp');
68
75
  if (!options || !options[0])
69
76
  return;
70
- if (options[0].kind !== 13 /* literal */ || 'string' !== typeof options[0].literal)
71
- return;
72
- return options[0].literal;
77
+ if (options[0].kind === ReflectionKind.literal && 'string' === typeof options[0].literal)
78
+ return options[0].literal;
79
+ if (options[0].kind === ReflectionKind.literal && options[0].literal instanceof RegExp)
80
+ return options[0].literal;
81
+ return;
73
82
  }
74
- getRegExp.__type = ['type', 'getRegExp', 'P"2!P&-J/"'];
83
+ getRegExp.__type = ['type', 'getRegExp', 'P"2!P&A-J/"'];
75
84
  export class RequestBuilder {
76
85
  constructor(path, method = 'GET') {
77
86
  this.path = path;
@@ -92,12 +101,12 @@ export class RequestBuilder {
92
101
  const url = this.getUrl();
93
102
  const bodyContent = this.contentBuffer;
94
103
  const writable = new Writable({
95
- write: Object.assign(function write(chunk, encoding, callback) {
104
+ write: __assignType(function write(chunk, encoding, callback) {
96
105
  -callback();
97
- }, { __type: ['chunk', 'encoding', 'callback', 'write', 'P"2!"2""2#"/$'] }),
98
- writev: Object.assign(function writev(chunks, callback) {
106
+ }, ['chunk', 'encoding', 'callback', 'write', 'P"2!"2""2#"/$']),
107
+ writev: __assignType(function writev(chunks, callback) {
99
108
  callback();
100
- }, { __type: ['chunks', 'callback', 'writev', 'P"2!"2""/#'] })
109
+ }, ['chunks', 'callback', 'writev', 'P"2!"2""/#'])
101
110
  });
102
111
  const request = new (_a = class extends HttpRequest {
103
112
  constructor() {
@@ -151,7 +160,7 @@ export class RequestBuilder {
151
160
  return this;
152
161
  }
153
162
  }
154
- RequestBuilder.__type = [() => Buffer, 'contentBuffer', function () { return Buffer.alloc(0); }, '_headers', function () { return {}; }, 'queryPath', 'path', 'method', () => "GET", 'constructor', 'getUrl', () => HttpRequest, 'build', 'headers', 'name', 'value', 'header', 'body', 'json', () => Buffer, 'query', 'P7!3"<>#P&&LM3$<>%&3&8<P&2\'<&2(<>)"0*P"0+PP7,0-PP&&LM2.!0.P&2/P&\'J20!01P%22!03PP&P74J22!02P"25!055'];
163
+ 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', 'query', '!3!<>"P&&LM3#<>$&3%8<P&2&<&2\'<>("0)P"0*PP7+0,PP&&LM2-!0-P&2.P&\'J2/!00P%21!02PP&!J21!01P"23!035'];
155
164
  export class HttpRequest extends IncomingMessage {
156
165
  constructor() {
157
166
  super(...arguments);
@@ -200,6 +209,30 @@ export class MemoryHttpResponse extends HttpResponse {
200
209
  constructor() {
201
210
  super(...arguments);
202
211
  this.body = Buffer.alloc(0);
212
+ this.headers = Object.create(null);
213
+ }
214
+ setHeader(name, value) {
215
+ this.headers[name] = value;
216
+ super.setHeader(name, value);
217
+ return this;
218
+ }
219
+ removeHeader(name) {
220
+ delete this.headers[name];
221
+ super.removeHeader(name);
222
+ }
223
+ getHeader(name) {
224
+ return this.headers[name];
225
+ }
226
+ getHeaders() {
227
+ return this.headers;
228
+ }
229
+ writeHead(statusCode, headersOrReasonPhrase, headers) {
230
+ headers = typeof headersOrReasonPhrase === 'string' ? headers : headersOrReasonPhrase;
231
+ if (headers && !isArray(headers))
232
+ this.headers = headers;
233
+ if (typeof headersOrReasonPhrase === 'string')
234
+ return super.writeHead(statusCode, headersOrReasonPhrase, headers);
235
+ return super.writeHead(statusCode, headers);
203
236
  }
204
237
  get json() {
205
238
  const json = this.bodyString;
@@ -245,8 +278,7 @@ export class MemoryHttpResponse extends HttpResponse {
245
278
  this.body = Buffer.concat([this.body, chunk]);
246
279
  }
247
280
  return super.end(chunk, encoding, callback);
248
- // if (callback) callback();
249
281
  }
250
282
  }
251
- MemoryHttpResponse.__type = [() => Buffer, 'body', function () { return Buffer.alloc(0); }, 'chunk', 'encoding', 'callback', 'write', 'end', 'P7!3">#!!P"2$"2%"2&8"0\'P"2$"2%8"2&8"0(5'];
283
+ MemoryHttpResponse.__type = ['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', '!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"2/"20"218"02P"2/"208"218"035'];
252
284
  //# sourceMappingURL=model.js.map