@deepkit/http 1.0.1-alpha.16 → 1.0.1-alpha.160

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 (124) hide show
  1. package/CHANGELOG.md +236 -0
  2. package/dist/cjs/index.d.ts +14 -10
  3. package/dist/cjs/index.js +19 -11
  4. package/dist/cjs/index.js.map +1 -1
  5. package/dist/cjs/src/controllers.d.ts +10 -3
  6. package/dist/cjs/src/controllers.js +7 -3
  7. package/dist/cjs/src/controllers.js.map +1 -1
  8. package/dist/cjs/src/decorator.d.ts +144 -70
  9. package/dist/cjs/src/decorator.js +277 -102
  10. package/dist/cjs/src/decorator.js.map +1 -1
  11. package/dist/cjs/src/filter.d.ts +49 -0
  12. package/dist/cjs/src/filter.js +215 -0
  13. package/dist/cjs/src/filter.js.map +1 -0
  14. package/dist/cjs/src/http-app.d.ts +8 -0
  15. package/dist/cjs/src/http-app.js +16 -0
  16. package/dist/cjs/src/http-app.js.map +1 -0
  17. package/dist/cjs/src/http.d.ts +131 -32
  18. package/dist/cjs/src/http.js +523 -122
  19. package/dist/cjs/src/http.js.map +1 -1
  20. package/dist/cjs/src/kernel.d.ts +50 -9
  21. package/dist/cjs/src/kernel.js +109 -98
  22. package/dist/cjs/src/kernel.js.map +1 -1
  23. package/dist/cjs/src/logger.d.ts +3 -3
  24. package/dist/cjs/src/logger.js +9 -12
  25. package/dist/cjs/src/logger.js.map +1 -1
  26. package/dist/cjs/src/middleware.d.ts +61 -0
  27. package/dist/cjs/src/middleware.js +95 -0
  28. package/dist/cjs/src/middleware.js.map +1 -0
  29. package/dist/cjs/src/model.d.ts +270 -4
  30. package/dist/cjs/src/model.js +401 -3
  31. package/dist/cjs/src/model.js.map +1 -1
  32. package/dist/cjs/src/module.config.d.ts +149 -4
  33. package/dist/cjs/src/module.config.js +11 -6
  34. package/dist/cjs/src/module.config.js.map +1 -1
  35. package/dist/cjs/src/module.d.ts +14 -32
  36. package/dist/cjs/src/module.js +122 -7
  37. package/dist/cjs/src/module.js.map +1 -1
  38. package/dist/cjs/src/request-parser.d.ts +37 -0
  39. package/dist/cjs/src/request-parser.js +382 -0
  40. package/dist/cjs/src/request-parser.js.map +1 -0
  41. package/dist/cjs/src/router.d.ts +174 -75
  42. package/dist/cjs/src/router.js +469 -288
  43. package/dist/cjs/src/router.js.map +1 -1
  44. package/dist/cjs/src/static-serving.d.ts +32 -4
  45. package/dist/cjs/src/static-serving.js +115 -71
  46. package/dist/cjs/src/static-serving.js.map +1 -1
  47. package/dist/cjs/src/utils.js +2 -2
  48. package/dist/cjs/src/utils.js.map +1 -1
  49. package/dist/cjs/tsconfig.tsbuildinfo +1 -2916
  50. package/dist/esm/index.d.ts +14 -10
  51. package/dist/esm/index.js +14 -10
  52. package/dist/esm/index.js.map +1 -1
  53. package/dist/esm/src/controllers.d.ts +10 -3
  54. package/dist/esm/src/controllers.js +7 -3
  55. package/dist/esm/src/controllers.js.map +1 -1
  56. package/dist/esm/src/decorator.d.ts +144 -70
  57. package/dist/esm/src/decorator.js +272 -99
  58. package/dist/esm/src/decorator.js.map +1 -1
  59. package/dist/esm/src/filter.d.ts +49 -0
  60. package/dist/esm/src/filter.js +209 -0
  61. package/dist/esm/src/filter.js.map +1 -0
  62. package/dist/esm/src/http-app.d.ts +8 -0
  63. package/dist/esm/src/http-app.js +12 -0
  64. package/dist/esm/src/http-app.js.map +1 -0
  65. package/dist/esm/src/http.d.ts +131 -32
  66. package/dist/esm/src/http.js +504 -121
  67. package/dist/esm/src/http.js.map +1 -1
  68. package/dist/esm/src/kernel.d.ts +50 -9
  69. package/dist/esm/src/kernel.js +110 -100
  70. package/dist/esm/src/kernel.js.map +1 -1
  71. package/dist/esm/src/logger.d.ts +3 -3
  72. package/dist/esm/src/logger.js +7 -11
  73. package/dist/esm/src/logger.js.map +1 -1
  74. package/dist/esm/src/middleware.d.ts +61 -0
  75. package/dist/esm/src/middleware.js +90 -0
  76. package/dist/esm/src/middleware.js.map +1 -0
  77. package/dist/esm/src/model.d.ts +270 -4
  78. package/dist/esm/src/model.js +357 -1
  79. package/dist/esm/src/model.js.map +1 -1
  80. package/dist/esm/src/module.config.d.ts +149 -4
  81. package/dist/esm/src/module.config.js +9 -5
  82. package/dist/esm/src/module.config.js.map +1 -1
  83. package/dist/esm/src/module.d.ts +14 -32
  84. package/dist/esm/src/module.js +121 -7
  85. package/dist/esm/src/module.js.map +1 -1
  86. package/dist/esm/src/request-parser.d.ts +37 -0
  87. package/dist/esm/src/request-parser.js +372 -0
  88. package/dist/esm/src/request-parser.js.map +1 -0
  89. package/dist/esm/src/router.d.ts +174 -75
  90. package/dist/esm/src/router.js +463 -285
  91. package/dist/esm/src/router.js.map +1 -1
  92. package/dist/esm/src/static-serving.d.ts +32 -4
  93. package/dist/esm/src/static-serving.js +107 -65
  94. package/dist/esm/src/static-serving.js.map +1 -1
  95. package/dist/esm/src/utils.js +1 -0
  96. package/dist/esm/src/utils.js.map +1 -1
  97. package/dist/esm/tsconfig.esm.tsbuildinfo +1 -2916
  98. package/index.ts +14 -10
  99. package/package.json +30 -19
  100. package/src/controllers.ts +4 -3
  101. package/src/decorator.ts +242 -104
  102. package/src/filter.ts +224 -0
  103. package/src/http-app.ts +11 -0
  104. package/src/http.ts +501 -100
  105. package/src/kernel.ts +128 -80
  106. package/src/logger.ts +4 -6
  107. package/src/middleware.ts +116 -0
  108. package/src/model.ts +516 -5
  109. package/src/module.config.ts +168 -5
  110. package/src/module.ts +120 -7
  111. package/src/request-parser.ts +430 -0
  112. package/src/router.ts +546 -317
  113. package/src/static-serving.ts +120 -50
  114. package/src/utils.ts +0 -2
  115. package/tsconfig.esm.json +7 -7
  116. package/tsconfig.json +18 -11
  117. package/tsconfig.spec.json +8 -0
  118. package/dist/cjs/tests/router.spec.d.ts +0 -1
  119. package/dist/cjs/tests/router.spec.js +0 -481
  120. package/dist/cjs/tests/router.spec.js.map +0 -1
  121. package/dist/esm/tests/router.spec.d.ts +0 -1
  122. package/dist/esm/tests/router.spec.js +0 -479
  123. package/dist/esm/tests/router.spec.js.map +0 -1
  124. package/tests/router.spec.ts +0 -347
@@ -1 +1 @@
1
- {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/http.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;;;;;;;;;;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,wBAAwB,EAAE,eAAe,EAAE,kBAAkB,EAAE,cAAc,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAChI,OAAO,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAe,YAAY,EAAE,MAAM,SAAS,CAAC;AACpD,OAAO,EAAE,UAAU,EAAmB,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAkD,MAAM,EAAE,MAAM,UAAU,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAE5D,MAAM,OAAO,QAAQ;IAKjB,YACW,aAAqB,GAAG;QAAxB,eAAU,GAAV,UAAU,CAAc;IAEnC,CAAC;IAED,MAAM,CAAC,OAAO,CAAC,SAAiB,EAAE,aAAsC,EAAE,EAAE,aAAqB,GAAG;QAChG,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC1C,QAAQ,CAAC,SAAS,GAAG,SAAS,CAAC;QAC/B,QAAQ,CAAC,eAAe,GAAG,UAAU,CAAC;QACtC,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,GAAW,EAAE,aAAqB,GAAG;QAC9C,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,UAAU,CAAC,CAAC;QAC1C,QAAQ,CAAC,GAAG,GAAG,GAAG,CAAC;QACnB,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ;AAQD,MAAM,UAAU,SAAS,CAAmB,IAAO,EAAE,iBAAyB,EAAE;IAC5E,OAAO,KAAM,SAAQ,WAAW;QAC5B,YAAY,UAAkB,cAAc;YACxC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnB,CAAC;QAED,MAAM,CAAC,WAAW;YACd,OAAO,IAAI,CAAC;QAChB,CAAC;KACJ,CAAC;AACN,CAAC;AAED,MAAM,OAAO,iBAAkB,SAAQ,SAAS,CAAC,GAAG,EAAE,WAAW,CAAC;CACjE;AAED,MAAM,OAAO,mBAAoB,SAAQ,SAAS,CAAC,GAAG,EAAE,aAAa,CAAC;CACrE;AAED,MAAM,OAAO,qBAAsB,SAAQ,SAAS,CAAC,GAAG,EAAE,eAAe,CAAC;CACzE;AAED,MAAM,OAAO,iBAAiB;IA+B1B,YACW,eAAgC,EAChC,OAAoB,EACpB,QAAsB;QAFtB,oBAAe,GAAf,eAAe,CAAiB;QAChC,YAAO,GAAP,OAAO,CAAa;QACpB,aAAQ,GAAR,QAAQ,CAAc;QAjCjC,YAAO,GAAG,KAAK,CAAC;IAmChB,CAAC;IAjCD,eAAe;QACX,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;IACxB,CAAC;IAED,SAAS;QACL,OAAO,IAAI,CAAC,OAAO,CAAC;IACxB,CAAC;IAKD,SAAS;QACL,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,SAAS,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,SAAiB,EAAE,KAAW;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;IAChC,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,SAAS,KAAK,SAAS,CAAC;IACxC,CAAC;IASD,IAAI,GAAG;QACH,OAAO,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC;IACnC,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACJ,OAAO,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;IACrC,CAAC;IAED,IAAI,CAAC,QAAa;QACd,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,iBAAiB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;IAC9G,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,gBAAgB,GAAG,iBAAiB,CAAC;AAClD,MAAM,CAAC,MAAM,sBAAsB,GAAG,iBAAiB,CAAC;AAExD,MAAM,OAAO,0BAA2B,SAAQ,iBAAiB;IAC7D,YACW,eAAgC,EAChC,OAAoB,EACpB,QAAsB,EACtB,KAAkB;QAEzB,KAAK,CAAC,eAAe,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QALnC,oBAAe,GAAf,eAAe,CAAiB;QAChC,YAAO,GAAP,OAAO,CAAa;QACpB,aAAQ,GAAR,QAAQ,CAAc;QACtB,UAAK,GAAL,KAAK,CAAa;IAG7B,CAAC;IAED,IAAI,CAAC,QAAa;QACd,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,iBAAiB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1H,CAAC;CACJ;AAED,MAAM,OAAO,cAAe,SAAQ,iBAAiB;IACjD,YACW,eAAgC,EAChC,OAAoB,EACpB,QAAsB,EACtB,iBAAqD,EACrD,KAAmB;QAE1B,KAAK,CAAC,eAAe,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QANnC,oBAAe,GAAf,eAAe,CAAiB;QAChC,YAAO,GAAP,OAAO,CAAa;QACpB,aAAQ,GAAR,QAAQ,CAAc;QACtB,sBAAiB,GAAjB,iBAAiB,CAAoC;QACrD,UAAK,GAAL,KAAK,CAAc;IAG9B,CAAC;IAED,UAAU,CAAC,KAAkB,EAAE,iBAAoD;QAC/E,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,aAAa,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,iBAAiB,CAAC,CAAC,CAAC;IAC3H,CAAC;IAED,QAAQ;QACJ,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,sBAAsB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;IAC9G,CAAC;CACJ;AAED,MAAM,OAAO,aAAc,SAAQ,0BAA0B;IACzD,YACW,eAAgC,EAChC,OAAoB,EACpB,QAAsB,EACtB,KAAkB,EAClB,iBAAoD;QAE3D,KAAK,CAAC,eAAe,EAAE,OAAO,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;QAN1C,oBAAe,GAAf,eAAe,CAAiB;QAChC,YAAO,GAAP,OAAO,CAAa;QACpB,aAAQ,GAAR,QAAQ,CAAc;QACtB,UAAK,GAAL,KAAK,CAAa;QAClB,sBAAiB,GAAjB,iBAAiB,CAAmC;IAG/D,CAAC;IAED,OAAO;QACH,IAAI,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,0BAA0B,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,iBAAiB,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC1J,CAAC;IAED,YAAY;QACR,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,qBAAqB,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IACxH,CAAC;CACJ;AAED,MAAM,OAAO,qBAAsB,SAAQ,iBAAiB;IACxD,YACW,eAAgC,EAChC,OAAoB,EACpB,QAAsB,EACtB,KAAkB;QAEzB,KAAK,CAAC,eAAe,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QALnC,oBAAe,GAAf,eAAe,CAAiB;QAChC,YAAO,GAAP,OAAO,CAAa;QACpB,aAAQ,GAAR,QAAQ,CAAc;QACtB,UAAK,GAAL,KAAK,CAAa;IAG7B,CAAC;CACJ;AAED,MAAM,OAAO,0BAA2B,SAAQ,iBAAiB;IAG7D,YACW,eAAgC,EAChC,OAAoB,EACpB,QAAsB,EACtB,iBAAoD,EACpD,KAAkB;QAEzB,KAAK,CAAC,eAAe,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QANnC,oBAAe,GAAf,eAAe,CAAiB;QAChC,YAAO,GAAP,OAAO,CAAa;QACpB,aAAQ,GAAR,QAAQ,CAAc;QACtB,sBAAiB,GAAjB,iBAAiB,CAAmC;QACpD,UAAK,GAAL,KAAK,CAAa;QAPtB,eAAU,GAAU,EAAE,CAAC;IAU9B,CAAC;CACJ;AAED,MAAM,OAAO,mBAAoB,SAAQ,iBAAiB;IACtD,YACW,eAAgC,EAChC,OAAoB,EACpB,QAAsB,EACtB,aAAoB,EAAE,EACtB,KAAkB;QAEzB,KAAK,CAAC,eAAe,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QANnC,oBAAe,GAAf,eAAe,CAAiB;QAChC,YAAO,GAAP,OAAO,CAAa;QACpB,aAAQ,GAAR,QAAQ,CAAc;QACtB,eAAU,GAAV,UAAU,CAAY;QACtB,UAAK,GAAL,KAAK,CAAa;IAG7B,CAAC;CACJ;AAED,MAAM,OAAO,iBAAkB,SAAQ,aAAa;IAChD,YACW,eAAgC,EAChC,OAAoB,EACpB,QAAsB,EACtB,MAAW,EACX,KAAmB;QAE1B,KAAK,EAAE,CAAC;QAND,oBAAe,GAAf,eAAe,CAAiB;QAChC,YAAO,GAAP,OAAO,CAAa;QACpB,aAAQ,GAAR,QAAQ,CAAc;QACtB,WAAM,GAAN,MAAM,CAAK;QACX,UAAK,GAAL,KAAK,CAAc;IAG9B,CAAC;CACJ;AAED,MAAM,OAAO,wBAAyB,SAAQ,iBAAiB;IAC3D,YACW,eAAgC,EAChC,OAAoB,EACpB,QAAsB,EACtB,KAAkB,EAClB,KAAY;QAEnB,KAAK,CAAC,eAAe,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC;QANnC,oBAAe,GAAf,eAAe,CAAiB;QAChC,YAAO,GAAP,OAAO,CAAa;QACpB,aAAQ,GAAR,QAAQ,CAAc;QACtB,UAAK,GAAL,KAAK,CAAa;QAClB,UAAK,GAAL,KAAK,CAAO;IAGvB,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,YAAY,GAAG,cAAc,CAAC,MAAM,EAAE;IAC/C,KAAK,EAAE,aAAa;IACpB,OAAO,EAAE,gBAAgB;IACzB,KAAK,EAAE,cAAc;IACrB,aAAa,EAAE,sBAAsB;IACrC,IAAI,EAAE,aAAa;IACnB,iBAAiB,EAAE,0BAA0B;IAC7C,YAAY,EAAE,qBAAqB;IACnC,UAAU,EAAE,mBAAmB;IAC/B,eAAe,EAAE,wBAAwB;IACzC,gBAAgB,EAAE,wBAAwB;IAC1C,QAAQ,EAAE,iBAAiB;CAC9B,EAAE;IACC,KAAK,EAAE,SAAS;IAChB,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC;IAChC,IAAI,EAAE,CAAC,mBAAmB,EAAE,cAAc,CAAC;IAC3C,iBAAiB,EAAE,CAAC,YAAY,EAAE,kBAAkB,CAAC;IACrD,YAAY,EAAE,UAAU;IACxB,UAAU,EAAE,CAAC,cAAc,EAAE,iBAAiB,EAAE,UAAU,CAAC;IAC3D,eAAe,EAAE,UAAU;IAC3B,gBAAgB,EAAE,UAAU;IAC5B,aAAa,EAAE,UAAU;CAC5B,CAAC,CAAC;AAEH,MAAM,OAAO,YAAY;IACrB,YAAmB,IAAY,EAAS,UAAmB;QAAxC,SAAI,GAAJ,IAAI,CAAQ;QAAS,eAAU,GAAV,UAAU,CAAS;IAC3D,CAAC;CACJ;AAED,MAAM,OAAO,YAAY;IACrB,YAAmB,IAAS,EAAS,UAAmB;QAArC,SAAI,GAAJ,IAAI,CAAK;QAAS,eAAU,GAAV,UAAU,CAAS;IACxD,CAAC;CACJ;AAID,IAAa,YAAY,GAAzB,MAAa,YAAY;IACrB,YACc,MAAc,EACd,MAAc;QADd,WAAM,GAAN,MAAM,CAAQ;QACd,WAAM,GAAN,MAAM,CAAQ;IAE5B,CAAC;IAGD,SAAS,CAAC,KAA0C;QAChD,IAAI,KAAK,CAAC,IAAI;YAAE,OAAO;QACvB,IAAI,KAAK,CAAC,OAAO,EAAE;YAAE,OAAO;QAE5B,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,cAAc,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAE,CAAC,CAAC;IACnG,CAAC;IAGD,OAAO,CAAC,KAAwC;QAC5C,IAAI,KAAK,CAAC,IAAI;YAAE,OAAO;QACvB,IAAI,KAAK,CAAC,OAAO,EAAE;YAAE,OAAO;QAE5B,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QAC3D,IAAI,QAAQ,EAAE;YACV,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC,WAAW,EAAE,QAAQ,CAAC,UAAU,CAAC,CAAC;SAC/D;IACL,CAAC;IAGD,cAAc,CAAC,KAAwC;QACnD,IAAI,KAAK,CAAC,IAAI;YAAE,OAAO;QACvB,IAAI,KAAK,CAAC,OAAO,EAAE;YAAE,OAAO;QAE5B,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE;YACd,KAAK,CAAC,IAAI,CAAC,eAAe,EAAE,IAAI,sBAAsB,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC;SACjH;IACL,CAAC;IAGD,KAAK,CAAC,aAAa,CAAC,KAAgD;QAChE,IAAI,KAAK,CAAC,IAAI;YAAE,OAAO;QACvB,IAAI,KAAK,CAAC,OAAO,EAAE;YAAE,OAAO;QAE5B,KAAK,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;IACnD,CAAC;IAGD,MAAM,CAAC,KAAuC;QAC1C,IAAI,KAAK,CAAC,IAAI;YAAE,OAAO;QACvB,IAAI,KAAK,CAAC,OAAO,EAAE;YAAE,OAAO;QAE5B,KAAK,CAAC,IAAI,CAAC,mBAAmB,EAAE,IAAI,0BAA0B,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAChK,CAAC;IAGD,KAAK,CAAC,mBAAmB,CAAC,KAAoD;QAC1E,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ;YAAE,OAAO;QACpC,IAAI,KAAK,CAAC,OAAO,EAAE;YAAE,OAAO;QAE5B,IAAI;YACA,KAAK,CAAC,UAAU,GAAG,MAAM,KAAK,CAAC,iBAAiB,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;YACxE,KAAK,CAAC,IAAI,CAAC,YAAY,EAAE,IAAI,mBAAmB,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;SAC1I;QAAC,OAAO,KAAK,EAAE;YACZ,KAAK,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,wBAAwB,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;SAC1I;IACL,CAAC;IAGD,cAAc,CAAC,KAA+C;QAC1D,IAAI,KAAK,CAAC,IAAI;YAAE,OAAO;QACvB,IAAI,KAAK,CAAC,OAAO,EAAE;YAAE,OAAO;QAE5B,KAAK,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,eAAe,EAAE,GAAG,CAAC,CAAC,CAAC;IACvD,CAAC;IAGD,KAAK,CAAC,YAAY,CAAC,KAA6C;QAC5D,IAAI,KAAK,CAAC,IAAI;YAAE,OAAO;QACvB,IAAI,KAAK,CAAC,OAAO,EAAE;YAAE,OAAO;QAE5B,MAAM,kBAAkB,GAAG,KAAK,CAAC,eAAe,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QACpF,IAAI;YACA,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;YACjE,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,iBAAiB,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;SAC9K;QAAC,OAAO,KAAK,EAAE;YACZ,IAAI,KAAK,YAAY,qBAAqB,EAAE;gBACxC,KAAK,CAAC,IAAI,CAAC,cAAc,EAAE,IAAI,qBAAqB,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;aAC5H;iBAAM;gBACH,KAAK,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,wBAAwB,CAAC,KAAK,CAAC,eAAe,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,KAAK,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC;aACzI;SACJ;IACL,CAAC;IAGD,kBAAkB,CAAC,KAAmD;QAClE,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ;YAAE,OAAO;QACpC,IAAI,KAAK,CAAC,IAAI;YAAE,OAAO;QAEvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAExE,IAAI,KAAK,CAAC,KAAK,YAAY,gBAAgB,EAAE;YACzC,KAAK,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC;gBACxB,OAAO,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO;gBAC5B,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,MAAM;aAC7B,EAAE,GAAG,CAAC,CAAC,CAAC;SACZ;aAAM;YACH,KAAK,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC;SACvD;IACL,CAAC;IAGD,iBAAiB,CAAC,KAAkD;QAChE,IAAI,KAAK,CAAC,QAAQ,CAAC,QAAQ;YAAE,OAAO;QACpC,IAAI,KAAK,CAAC,IAAI;YAAE,OAAO;QAEvB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;QAEnD,KAAK,CAAC,IAAI,CAAC,IAAI,YAAY,CAAC,gBAAgB,EAAE,GAAG,CAAC,CAAC,CAAC;IACxD,CAAC;IAGD,KAAK,CAAC,UAAU,CAAC,KAA2C;QACxD,MAAM,QAAQ,GAAG,KAAK,CAAC,MAAM,CAAC;QAE9B,IAAI,QAAQ,KAAK,IAAI,IAAI,QAAQ,KAAK,SAAS,EAAE;YAC7C,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAChC;aAAM,IAAI,QAAQ,KAAK,OAAO,QAAQ,EAAE;YACrC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAChC;aAAM,IAAI,QAAQ,YAAY,QAAQ,EAAE;YACrC,IAAI,QAAQ,CAAC,SAAS,EAAE;gBACpB,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE;oBAC1C,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,SAAS,EAAE,QAAQ,CAAC,eAAe,CAAC;iBACjF,CAAC,CAAC;aACN;iBAAM;gBACH,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE;oBAC1C,QAAQ,EAAE,QAAQ,CAAC,GAAG;iBACzB,CAAC,CAAC;aACN;YACD,KAAK,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;SACxB;aAAM,IAAI,QAAQ,YAAY,cAAc,IAAI,QAAQ,YAAY,YAAY,EAAE;SAClF;aAAM,IAAI,QAAQ,YAAY,YAAY,EAAE;YACzC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;YACrE,IAAI,QAAQ,CAAC,UAAU;gBAAE,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACvE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;SACrC;aAAM,IAAI,eAAe,CAAC,QAAQ,CAAC,EAAE;YAClC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,0BAA0B,CAAC,CAAC;YACrE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,MAAM,CAAC,KAAK,CAAC,eAAe,EAAE,QAAQ,CAAC,CAAC,CAAC;SACrE;aAAM,IAAI,eAAe,CAAC,QAAQ,CAAC,IAAI,kBAAkB,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC,EAAE;YAC5F,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAC;YAC5E,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,GAAG,CAAC,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;SAClH;aAAM,IAAI,QAAQ,YAAY,UAAU,EAAE;YACvC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;SAChC;aAAM,IAAI,QAAQ,YAAY,YAAY,EAAE;YACzC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAC;YAC5E,IAAI,QAAQ,CAAC,UAAU;gBAAE,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;YACvE,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;SACrD;aAAM;YACH,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,cAAc,EAAE,iCAAiC,CAAC,CAAC;YAC5E,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC;SAChD;IACL,CAAC;CACJ,CAAA;AAvJG;IADC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,SAAS,EAAE,GAAG,CAAC;;;;6CAMnD;AAGD;IADC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC;;;;2CASjD;AAGD;IADC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC;;;;kDAQlD;AAGD;IADC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,eAAe,EAAE,GAAG,CAAC;;;;iDAMzD;AAGD;IADC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,MAAM,EAAE,GAAG,CAAC;;;;0CAMhD;AAGD;IADC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,mBAAmB,EAAE,GAAG,CAAC;;;;uDAW7D;AAGD;IADC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,cAAc,EAAE,GAAG,CAAC;;;;kDAMxD;AAGD;IADC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,CAAC;;;;gDAgBtD;AAGD;IADC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,kBAAkB,EAAE,GAAG,CAAC;;;;sDAe5D;AAGD;IADC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,iBAAiB,EAAE,GAAG,CAAC;;;;qDAQ3D;AAGD;IADC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC;;;;8CAwCpD;AA9JQ,YAAY;IADxB,UAAU,EAAE;qCAGa,MAAM;QACN,MAAM;GAHnB,YAAY,CA+JxB;SA/JY,YAAY"}
1
+ {"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/http.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,56 @@
1
1
  import { InjectorContext } from '@deepkit/injector';
2
- import { Router } from './router';
2
+ import { HttpRouter } from './router.js';
3
3
  import { EventDispatcher } from '@deepkit/event';
4
- import { Logger } from '@deepkit/logger';
5
- import { HttpRequest, HttpResponse } from './model';
4
+ import { LoggerInterface } from '@deepkit/logger';
5
+ import { MemoryHttpResponse, RequestBuilder } from './model.js';
6
+ import { Stopwatch } from '@deepkit/stopwatch';
7
+ import { IncomingMessage, ServerResponse } from 'http';
8
+ interface HttpKernelHandleOptions {
9
+ /**
10
+ * Makes the kernel throw a HttpNotFoundError when the route is not found
11
+ * or a controller threw a HttpNotFoundError. This allows you to catch
12
+ * the error and handle it yourself.
13
+ */
14
+ throwOnNotFound?: boolean;
15
+ }
16
+ interface HttpKernelMiddlewareOptions extends HttpKernelHandleOptions {
17
+ /**
18
+ * If true, a HttpNotFoundError or missing route is not automatically
19
+ * sent to the client. Instead, the request is passed to the next middleware.
20
+ */
21
+ fallThroughOnNotFound?: boolean;
22
+ }
6
23
  export declare class HttpKernel {
7
- protected router: Router;
24
+ protected router: HttpRouter;
8
25
  protected eventDispatcher: EventDispatcher;
9
26
  protected injectorContext: InjectorContext;
10
- protected logger: Logger;
11
- protected debug: boolean;
12
- constructor(router: Router, eventDispatcher: EventDispatcher, injectorContext: InjectorContext, logger: Logger, debug?: boolean);
13
- handleRequestFor(method: string, url: string, jsonBody?: any): Promise<any>;
14
- handleRequest(req: HttpRequest, res: HttpResponse): Promise<void>;
27
+ protected logger: LoggerInterface;
28
+ protected stopwatch?: Stopwatch | undefined;
29
+ constructor(router: HttpRouter, eventDispatcher: EventDispatcher, injectorContext: InjectorContext, logger: LoggerInterface, stopwatch?: Stopwatch | undefined);
30
+ /**
31
+ * Creates a request handler function that can be used with http.createServer
32
+ * or any other http server library based on the node.js http module.
33
+ *
34
+ * When `fallThroughOnNotFound` is set to true, the handler will call `next()`
35
+ * when the route is not found, allowing the request to fall through to the next
36
+ * middleware in the chain.
37
+ *
38
+ * @example
39
+ * ```typescript
40
+ * import { createServer } from 'http';
41
+ *
42
+ * const app = new App({
43
+ * imports: [new HttpModule({})],
44
+ * });
45
+ *
46
+ * const handler = app.get(HttpKernel).createMiddleware({ fallThroughOnNotFound: true });
47
+ * const server = createServer(handler);
48
+ *
49
+ * server.listen(3000);
50
+ * ```
51
+ */
52
+ createMiddleware(options?: HttpKernelMiddlewareOptions): (req: IncomingMessage, res: ServerResponse, next: (error?: any) => void) => Promise<void>;
53
+ request(requestBuilder: RequestBuilder, options?: HttpKernelHandleOptions): Promise<MemoryHttpResponse>;
54
+ handleRequest(_req: IncomingMessage, _res: ServerResponse, options?: HttpKernelHandleOptions): Promise<void>;
15
55
  }
56
+ export {};
@@ -1,115 +1,125 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- var __param = (this && this.__param) || function (paramIndex, decorator) {
11
- return function (target, key) { decorator(target, key, paramIndex); }
12
- };
13
- import { inject, injectable, InjectorContext, MemoryInjector } from '@deepkit/injector';
14
- import { Router } from './router';
1
+ /*@ts-ignore*/
2
+ import { __ΩLoggerInterface } from '@deepkit/logger';
3
+ function __assignType(fn, args) {
4
+ fn.__type = args;
5
+ return fn;
6
+ }
7
+ import { InjectorContext } from '@deepkit/injector';
8
+ import { HttpRouter } from './router.js';
15
9
  import { EventDispatcher } from '@deepkit/event';
16
- import { Logger } from '@deepkit/logger';
17
- import { HttpRequest, HttpResponse } from './model';
18
- import { Socket } from 'net';
19
- import { HttpRequestEvent, httpWorkflow } from './http';
20
- import { config } from './module.config';
21
- let HttpKernel = class HttpKernel {
22
- constructor(router, eventDispatcher, injectorContext, logger, debug = false) {
10
+ import { HttpRequest, HttpResponse, incomingMessageToHttpRequest, MemoryHttpResponse, RequestBuilder, serverResponseToHttpResponse, } from './model.js';
11
+ import { HttpError, HttpRequestEvent, HttpResultFormatter, httpWorkflow, JSONResponse } from './http.js';
12
+ import { FrameCategory, Stopwatch } from '@deepkit/stopwatch';
13
+ import { unlink } from 'fs';
14
+ import { ValidationError } from '@deepkit/type';
15
+ const __ΩHttpKernelHandleOptions = ['throwOnNotFound', 'HttpKernelHandleOptions', 'P)4!8Mw"y'];
16
+ const __ΩHttpKernelMiddlewareOptions = [() => __ΩHttpKernelHandleOptions, 'fallThroughOnNotFound', 'HttpKernelMiddlewareOptions', 'Pn!)4"8Mw#y'];
17
+ export class HttpKernel {
18
+ constructor(router, eventDispatcher, injectorContext, logger, stopwatch) {
23
19
  this.router = router;
24
20
  this.eventDispatcher = eventDispatcher;
25
21
  this.injectorContext = injectorContext;
26
22
  this.logger = logger;
27
- this.debug = debug;
23
+ this.stopwatch = stopwatch;
28
24
  }
29
- async handleRequestFor(method, url, jsonBody) {
30
- const body = Buffer.from(jsonBody ? JSON.stringify(jsonBody) : '');
31
- const request = new (class extends HttpRequest {
32
- constructor() {
33
- super(...arguments);
34
- this.url = url;
35
- this.method = method;
36
- this.position = 0;
37
- this.headers = {
38
- 'content-type': 'application/json',
39
- 'content-length': String(body.byteLength),
40
- };
41
- this.done = false;
42
- }
43
- _read(size) {
44
- if (this.done) {
45
- this.push(null);
46
- }
47
- else {
48
- this.push(body);
49
- this.done = true;
50
- }
51
- }
52
- })(new Socket());
53
- let result = 'nothing';
54
- const response = new (class extends HttpResponse {
55
- end(chunk) {
56
- result = chunk ? chunk.toString() : chunk;
57
- }
58
- write(chunk) {
59
- result = chunk ? chunk.toString() : chunk;
60
- return true;
61
- }
62
- })(request);
63
- await this.handleRequest(request, response);
64
- if (result === '' || result === undefined || result === null)
65
- return result;
66
- try {
67
- return JSON.parse(result);
68
- }
69
- catch (error) {
70
- return result;
25
+ /**
26
+ * Creates a request handler function that can be used with http.createServer
27
+ * or any other http server library based on the node.js http module.
28
+ *
29
+ * When `fallThroughOnNotFound` is set to true, the handler will call `next()`
30
+ * when the route is not found, allowing the request to fall through to the next
31
+ * middleware in the chain.
32
+ *
33
+ * @example
34
+ * ```typescript
35
+ * import { createServer } from 'http';
36
+ *
37
+ * const app = new App({
38
+ * imports: [new HttpModule({})],
39
+ * });
40
+ *
41
+ * const handler = app.get(HttpKernel).createMiddleware({ fallThroughOnNotFound: true });
42
+ * const server = createServer(handler);
43
+ *
44
+ * server.listen(3000);
45
+ * ```
46
+ */
47
+ createMiddleware(options = {}) {
48
+ if (options.fallThroughOnNotFound && 'undefined' === typeof options.throwOnNotFound) {
49
+ options.throwOnNotFound = true;
71
50
  }
51
+ return __assignType((req, res, next) => {
52
+ return this.handleRequest(req, res, options).then(() => {
53
+ next();
54
+ }).catch(__assignType((error) => {
55
+ if (options.fallThroughOnNotFound && error instanceof HttpError && error.httpCode === 404) {
56
+ next();
57
+ return;
58
+ }
59
+ next(error);
60
+ }, ['error', '', 'P"2!"/"']));
61
+ }, ['req', 'res', 'error', '', 'next', 'P!2!!2"P"2#8$/$2%"/$']);
72
62
  }
73
- async handleRequest(req, res) {
74
- const httpInjectorContext = this.injectorContext.createChildScope('http', new MemoryInjector([
75
- { provide: HttpRequest, useValue: req },
76
- { provide: HttpResponse, useValue: res },
77
- ]));
78
- //todo: How should we do that?
79
- // const collector = this.debug ? httpInjectorContext.get(HttpRequestDebugCollector) : undefined;
80
- // const workflow = httpWorkflow.create('start', this.eventDispatcher, httpInjectorContext, collector?.stopwatch);
81
- const workflow = httpWorkflow.create('start', this.eventDispatcher, httpInjectorContext);
63
+ async request(requestBuilder, options = {}) {
64
+ const request = requestBuilder.build();
65
+ const response = new MemoryHttpResponse(request);
66
+ response.assignSocket(request.socket);
67
+ await this.handleRequest(request, response, options);
68
+ return response;
69
+ }
70
+ async handleRequest(_req, _res, options = {}) {
71
+ const httpInjectorContext = this.injectorContext.createChildScope('http');
72
+ const req = incomingMessageToHttpRequest(_req);
73
+ const res = serverResponseToHttpResponse(_res);
74
+ httpInjectorContext.set(HttpRequest, req);
75
+ httpInjectorContext.set(HttpResponse, res);
76
+ httpInjectorContext.set(InjectorContext, httpInjectorContext);
77
+ req.throwErrorOnNotFound = options.throwOnNotFound || false;
78
+ const frame = this.stopwatch ? this.stopwatch.start(req.method + ' ' + req.getUrl(), FrameCategory.http, true) : undefined;
79
+ const workflow = httpWorkflow.create('start', this.eventDispatcher, httpInjectorContext, this.stopwatch);
82
80
  try {
83
- // if (collector) {
84
- // await collector.init();
85
- // try {
86
- // collector.stopwatch.start('http');
87
- //
88
- // //todo: How should we do that?
89
- // await Zone.run({ collector: collector }, async () => {
90
- // await workflow.apply('request', new HttpRequestEvent(httpInjectorContext, req, res));
91
- // });
92
- // collector.stopwatch.end('http');
93
- // } finally {
94
- // await collector.save();
95
- // }
96
- // } else {
97
- await workflow.apply('request', new HttpRequestEvent(httpInjectorContext, req, res));
98
- // }
81
+ if (frame) {
82
+ frame.data({ url: req.getUrl(), method: req.getMethod(), clientIp: req.getRemoteAddress() });
83
+ await frame.run(() => workflow.apply('request', new HttpRequestEvent(httpInjectorContext, req, res)));
84
+ }
85
+ else {
86
+ await workflow.apply('request', new HttpRequestEvent(httpInjectorContext, req, res));
87
+ }
99
88
  }
100
89
  catch (error) {
90
+ if (!res.headersSent) {
91
+ const resultFormatter = httpInjectorContext.get(HttpResultFormatter);
92
+ if (error instanceof ValidationError) {
93
+ resultFormatter.handle(new JSONResponse({
94
+ message: error.message,
95
+ errors: error.errors,
96
+ }, 400).disableAutoSerializing(), { request: req, response: res });
97
+ return;
98
+ }
99
+ else if (error instanceof HttpError) {
100
+ if (req.throwErrorOnNotFound && error.httpCode === 404) {
101
+ throw error;
102
+ }
103
+ resultFormatter.handle(new JSONResponse({
104
+ message: error.message,
105
+ }, error.httpCode).disableAutoSerializing(), { request: req, response: res });
106
+ return;
107
+ }
108
+ res.status(500);
109
+ }
101
110
  this.logger.error('HTTP kernel request failed', error);
102
- throw error;
111
+ }
112
+ finally {
113
+ for (const file of Object.values(req.uploadedFiles || [])) {
114
+ unlink(file.path, () => {
115
+ });
116
+ }
117
+ if (frame) {
118
+ frame.data({ responseStatus: res.statusCode });
119
+ frame.end();
120
+ }
103
121
  }
104
122
  }
105
- };
106
- HttpKernel = __decorate([
107
- injectable(),
108
- __param(4, inject(config.token('debug'))),
109
- __metadata("design:paramtypes", [Router,
110
- EventDispatcher,
111
- InjectorContext,
112
- Logger, Boolean])
113
- ], HttpKernel);
114
- export { HttpKernel };
123
+ }
124
+ HttpKernel.__type = [() => HttpRouter, 'router', () => EventDispatcher, 'eventDispatcher', () => InjectorContext, 'injectorContext', () => __ΩLoggerInterface, 'logger', () => Stopwatch, 'stopwatch', 'constructor', () => __ΩHttpKernelMiddlewareOptions, 'options', () => ({}), 'createMiddleware', () => RequestBuilder, 'requestBuilder', () => __ΩHttpKernelHandleOptions, () => ({}), () => MemoryHttpResponse, 'request', '_req', '_res', () => __ΩHttpKernelHandleOptions, () => ({}), 'handleRequest', 'HttpKernel', 'PP7!2"<P7#2$<P7%2&<n\'2(<P7)2*8<"0+Pn,2->."0/PP7021n22->3P74`05P!26!27n82->9$`0:5w;'];
115
125
  //# 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,7 +1,7 @@
1
- import { Logger } from '@deepkit/logger';
2
- import { httpWorkflow } from './http';
1
+ import { LoggerInterface } from '@deepkit/logger';
2
+ import { httpWorkflow } from './http.js';
3
3
  export declare class HttpLogger {
4
4
  private logger;
5
- constructor(logger: Logger);
5
+ constructor(logger: LoggerInterface);
6
6
  onHttpRequest(event: typeof httpWorkflow.onResponse.event): void;
7
7
  }
@@ -7,18 +7,19 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
7
7
  var __metadata = (this && this.__metadata) || function (k, v) {
8
8
  if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
9
  };
10
- import { injectable } from '@deepkit/injector';
11
- import { Logger } from '@deepkit/logger';
10
+ /*@ts-ignore*/
11
+ import { __ΩLoggerInterface } from '@deepkit/logger';
12
12
  import { eventDispatcher } from '@deepkit/event';
13
- import { httpWorkflow } from './http';
14
- let HttpLogger = class HttpLogger {
13
+ import { httpWorkflow } from './http.js';
14
+ export class HttpLogger {
15
15
  constructor(logger) {
16
16
  this.logger = logger;
17
17
  }
18
18
  onHttpRequest(event) {
19
- this.logger.log(event.request.connection.remoteAddress, '-', event.request.method, `"${event.request.url}"`, event.response.statusCode, `"${event.request.headers.referer || ''}"`);
19
+ this.logger.log(event.request.connection.remoteAddress || '0.0.0.0', '-', event.request.method, `"${event.request.url}"`, event.response.statusCode, `"${event.request.headers.referer || ''}"`);
20
20
  }
21
- };
21
+ }
22
+ HttpLogger.__type = [() => __ΩLoggerInterface, 'logger', 'constructor', () => httpWorkflow.onResponse.event, 'event', 'onHttpRequest', 'HttpLogger', 'Pn!2";"0#Pi$2%"0&5w\''];
22
23
  __decorate([
23
24
  eventDispatcher.listen(httpWorkflow.onResponse, 101) //101 is right after 100 default listener
24
25
  ,
@@ -26,9 +27,4 @@ __decorate([
26
27
  __metadata("design:paramtypes", [Object]),
27
28
  __metadata("design:returntype", void 0)
28
29
  ], HttpLogger.prototype, "onHttpRequest", null);
29
- HttpLogger = __decorate([
30
- injectable(),
31
- __metadata("design:paramtypes", [Logger])
32
- ], HttpLogger);
33
- export { HttpLogger };
34
30
  //# sourceMappingURL=logger.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/logger.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACzC,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAGtC,IAAa,UAAU,GAAvB,MAAa,UAAU;IACnB,YAAoB,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAClC,CAAC;IAGD,aAAa,CAAC,KAA2C;QACrD,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,EAAE,GAAG,EAC3C,KAAK,CAAC,OAAO,CAAC,MAAM,EACpB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,GAAG,EACxB,KAAK,CAAC,QAAQ,CAAC,UAAU,EACzB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,GAAG,CAE7C,CAAC;IACN,CAAC;CACJ,CAAA;AAVG;IADC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,yCAAyC;;;;;+CAU9F;AAdQ,UAAU;IADtB,UAAU,EAAE;qCAEmB,MAAM;GADzB,UAAU,CAetB;SAfY,UAAU"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../../src/logger.ts"],"names":[],"mappings":";;;;;;;;;;mCAAgC,iBAAiB;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAEzC,MAAM,OAAO,UAAU;IACnB,YAAoB,MAAuB;QAAvB,WAAM,GAAN,MAAM,CAAiB;IAC3C,CAAC;IAGD,aAAa,CAAC,KAA2C;QACrD,IAAI,CAAC,MAAM,CAAC,GAAG,CACX,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,aAAa,IAAI,SAAS,EAAE,GAAG,EACxD,KAAK,CAAC,OAAO,CAAC,MAAM,EACpB,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,GAAG,EACxB,KAAK,CAAC,QAAQ,CAAC,UAAU,EACzB,IAAI,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,GAAG,CAE7C,CAAC;IACN,CAAC;;2FATwC,UAAU,CAAC,KAAK;AAAzD;IADC,eAAe,CAAC,MAAM,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC,yCAAyC;;;;;+CAU9F"}
@@ -0,0 +1,61 @@
1
+ import { ClassType } from '@deepkit/core';
2
+ import { AppModule } from '@deepkit/app';
3
+ import { HttpRequest, HttpResponse } from './model.js';
4
+ import { InjectorModule } from '@deepkit/injector';
5
+ export type HttpMiddlewareFn = (req: HttpRequest, res: HttpResponse, next: (err?: any) => void) => void | Promise<void>;
6
+ export interface HttpMiddleware {
7
+ execute: HttpMiddlewareFn;
8
+ }
9
+ export interface HttpMiddlewareRoute {
10
+ path?: string;
11
+ pathRegExp?: RegExp;
12
+ httpMethod?: 'GET' | 'HEAD' | 'POST' | 'PATCH' | 'PUT' | 'DELETE' | 'OPTIONS' | 'TRACE';
13
+ category?: string;
14
+ excludeCategory?: string;
15
+ group?: string;
16
+ excludeGroup?: string;
17
+ }
18
+ export declare class HttpMiddlewareConfig {
19
+ name?: string;
20
+ middlewares: (HttpMiddlewareFn | ClassType<HttpMiddleware>)[];
21
+ routes: HttpMiddlewareRoute[];
22
+ excludeRoutes: HttpMiddlewareRoute[];
23
+ order: number;
24
+ controllers: ClassType[];
25
+ excludeControllers: ClassType[];
26
+ routeNames: string[];
27
+ excludeRouteNames: string[];
28
+ timeout?: number;
29
+ modules: InjectorModule<any>[];
30
+ selfModule: boolean;
31
+ getClassTypes(): ClassType[];
32
+ }
33
+ export declare class HttpMiddlewareApi {
34
+ t: HttpMiddlewareConfig;
35
+ name(name: string): void;
36
+ for(...middlewares: (HttpMiddlewareFn | ClassType<HttpMiddleware>)[]): void;
37
+ forRoutes(...routes: HttpMiddlewareRoute[]): void;
38
+ excludeRoutes(...routes: HttpMiddlewareRoute[]): void;
39
+ forRouteNames(...names: string[]): void;
40
+ excludeRouteNames(...names: string[]): void;
41
+ /**
42
+ * When the middleware does not respond (either calling next() or sending headers) withing <timeout> milliseconds,
43
+ * automatically the next is executed and warning printed.
44
+ */
45
+ timeout(timeout: number): void;
46
+ forControllers(...controllers: ClassType[]): void;
47
+ excludeControllers(...controllers: ClassType[]): void;
48
+ /**
49
+ * Per default middlewares are executed in the order they were registered. The default order is 0. A lower order means the middleware is executed earlier.
50
+ */
51
+ order(order: number): void;
52
+ forModules(...modules: AppModule<any>[]): void;
53
+ /**
54
+ * Limit the middleware to the module where this middleware is defined.
55
+ */
56
+ forSelfModules(): void;
57
+ }
58
+ export declare const httpMiddleware: import("@deepkit/type").FreeDecoratorResult<typeof HttpMiddlewareApi>;
59
+ export declare type __ΩHttpMiddlewareFn = any[];
60
+ export declare type __ΩHttpMiddleware = any[];
61
+ export declare type __ΩHttpMiddlewareRoute = any[];
@@ -0,0 +1,90 @@
1
+ /*@ts-ignore*/
2
+ import { __ΩClassType } from '@deepkit/core';
3
+ import { isClass } from '@deepkit/core';
4
+ import { AppModule } from '@deepkit/app';
5
+ import { createFreeDecoratorContext } from '@deepkit/type';
6
+ import { HttpRequest, HttpResponse } from './model.js';
7
+ import { InjectorModule } from '@deepkit/injector';
8
+ const __ΩHttpMiddlewareFn = [() => HttpRequest, 'req', () => HttpResponse, 'res', 'err', '', 'next', 'HttpMiddlewareFn', 'PP7!2"P7#2$P"2%8$/&2\'P$$`J/&w(y'];
9
+ export { __ΩHttpMiddlewareFn as __ΩHttpMiddlewareFn };
10
+ const __ΩHttpMiddleware = [() => __ΩHttpMiddlewareFn, 'execute', 'HttpMiddleware', 'Pn!4"Mw#y'];
11
+ export { __ΩHttpMiddleware as __ΩHttpMiddleware };
12
+ const __ΩHttpMiddlewareRoute = ['path', 'pathRegExp', "GET", "HEAD", "POST", "PATCH", "PUT", "DELETE", "OPTIONS", "TRACE", 'httpMethod', 'category', 'excludeCategory', 'group', 'excludeGroup', 'HttpMiddlewareRoute', 'P&4!8A4"8P.#.$.%.&.\'.(.).*J4+8&4,8&4-8&4.8&4/8Mw0y'];
13
+ export { __ΩHttpMiddlewareRoute as __ΩHttpMiddlewareRoute };
14
+ export class HttpMiddlewareConfig {
15
+ constructor() {
16
+ this.middlewares = [];
17
+ this.routes = [];
18
+ this.excludeRoutes = [];
19
+ this.order = 0;
20
+ this.controllers = [];
21
+ this.excludeControllers = [];
22
+ this.routeNames = [];
23
+ this.excludeRouteNames = [];
24
+ this.modules = [];
25
+ this.selfModule = false;
26
+ }
27
+ getClassTypes() {
28
+ const classTypes = [];
29
+ for (const middleware of this.middlewares) {
30
+ if (isClass(middleware))
31
+ classTypes.push(middleware);
32
+ }
33
+ return classTypes;
34
+ }
35
+ }
36
+ HttpMiddlewareConfig.__type = ['name', () => __ΩHttpMiddlewareFn, () => __ΩClassType, () => __ΩHttpMiddleware, 'middlewares', function () { return []; }, () => __ΩHttpMiddlewareRoute, 'routes', function () { return []; }, () => __ΩHttpMiddlewareRoute, 'excludeRoutes', function () { return []; }, 'order', function () { return 0; }, () => __ΩClassType, 'controllers', function () { return []; }, () => __ΩClassType, 'excludeControllers', function () { return []; }, 'routeNames', function () { return []; }, 'excludeRouteNames', function () { return []; }, 'timeout', () => InjectorModule, 'modules', function () { return []; }, 'selfModule', function () { return false; }, () => __ΩClassType, 'getClassTypes', 'HttpMiddlewareConfig', '&3!8Pn"n$o#"JF3%>&n\'F3(>)n*F3+>,\'3->.n/F30>1n2F33>4&F35>6&F37>8\'398P"7:F3;><)3=>>Pn?F0@5wA'];
37
+ export class HttpMiddlewareApi {
38
+ constructor() {
39
+ this.t = new HttpMiddlewareConfig;
40
+ }
41
+ name(name) {
42
+ this.t.name = name;
43
+ }
44
+ for(...middlewares) {
45
+ this.t.middlewares = middlewares;
46
+ }
47
+ forRoutes(...routes) {
48
+ this.t.routes = routes;
49
+ }
50
+ excludeRoutes(...routes) {
51
+ this.t.excludeRoutes = routes;
52
+ }
53
+ forRouteNames(...names) {
54
+ this.t.routeNames = names;
55
+ }
56
+ excludeRouteNames(...names) {
57
+ this.t.excludeRouteNames = names;
58
+ }
59
+ /**
60
+ * When the middleware does not respond (either calling next() or sending headers) withing <timeout> milliseconds,
61
+ * automatically the next is executed and warning printed.
62
+ */
63
+ timeout(timeout) {
64
+ this.t.timeout = timeout;
65
+ }
66
+ forControllers(...controllers) {
67
+ this.t.controllers = controllers;
68
+ }
69
+ excludeControllers(...controllers) {
70
+ this.t.excludeControllers = controllers;
71
+ }
72
+ /**
73
+ * Per default middlewares are executed in the order they were registered. The default order is 0. A lower order means the middleware is executed earlier.
74
+ */
75
+ order(order) {
76
+ this.t.order = order;
77
+ }
78
+ forModules(...modules) {
79
+ this.t.modules = modules;
80
+ }
81
+ /**
82
+ * Limit the middleware to the module where this middleware is defined.
83
+ */
84
+ forSelfModules() {
85
+ this.t.selfModule = true;
86
+ }
87
+ }
88
+ HttpMiddlewareApi.__type = ['t', function () { return new HttpMiddlewareConfig; }, 'name', () => __ΩHttpMiddlewareFn, () => __ΩClassType, () => __ΩHttpMiddleware, 'middlewares', 'for', () => __ΩHttpMiddlewareRoute, 'routes', 'forRoutes', () => __ΩHttpMiddlewareRoute, 'excludeRoutes', 'names', 'forRouteNames', 'excludeRouteNames', 'timeout', () => __ΩClassType, 'controllers', 'forControllers', () => __ΩClassType, 'excludeControllers', 'order', () => AppModule, 'modules', 'forModules', 'forSelfModules', 'HttpMiddlewareApi', '!3!>"P&2#"0#PPn$n&o%"J@2\'"0(Pn)@2*"0+Pn,@2*"0-P&@2."0/P&@2."00P\'21"01Pn2@23"04Pn5@23"06P\'27"07PP"78@29"0:P"0;5w<'];
89
+ export const httpMiddleware = createFreeDecoratorContext(HttpMiddlewareApi);
90
+ //# sourceMappingURL=middleware.js.map