vortez 4.1.3 → 5.0.0-dev.14

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 (137) hide show
  1. package/README.md +235 -289
  2. package/build/Template.d.ts +16 -2
  3. package/build/Template.js +20 -8
  4. package/build/Template.js.map +1 -1
  5. package/build/Vortez.d.ts +8 -15
  6. package/build/Vortez.js +8 -16
  7. package/build/Vortez.js.map +1 -1
  8. package/build/beta/Beta.d.ts +8 -0
  9. package/build/beta/Beta.js +9 -0
  10. package/build/beta/Beta.js.map +1 -0
  11. package/build/{Beta → beta}/JwtManager.js +1 -1
  12. package/build/{Beta → beta}/JwtManager.js.map +1 -1
  13. package/build/{Beta → beta}/Mail.d.ts +1 -1
  14. package/build/{Beta → beta}/Mail.js +1 -1
  15. package/build/beta/Mail.js.map +1 -0
  16. package/build/logger/Debug.d.ts +174 -0
  17. package/build/logger/Debug.js +295 -0
  18. package/build/logger/Debug.js.map +1 -0
  19. package/build/logger/Logger.d.ts +38 -0
  20. package/build/logger/Logger.js +48 -0
  21. package/build/logger/Logger.js.map +1 -0
  22. package/build/{Server → server}/BodyParser.js.map +1 -1
  23. package/build/{Server → server}/Cookie.js.map +1 -1
  24. package/build/server/LoggerManager.d.ts +21 -0
  25. package/build/server/LoggerManager.js +30 -0
  26. package/build/server/LoggerManager.js.map +1 -0
  27. package/build/{Server → server}/Request.d.ts +4 -2
  28. package/build/{Server → server}/Request.js +2 -1
  29. package/build/server/Request.js.map +1 -0
  30. package/build/{Server → server}/Response.d.ts +4 -1
  31. package/build/{Server → server}/Response.js +24 -8
  32. package/build/server/Response.js.map +1 -0
  33. package/build/{Server → server}/Server.d.ts +20 -67
  34. package/build/server/Server.js +211 -0
  35. package/build/server/Server.js.map +1 -0
  36. package/build/server/ServerDebug.d.ts +17 -0
  37. package/build/server/ServerDebug.js +67 -0
  38. package/build/server/ServerDebug.js.map +1 -0
  39. package/build/server/ServerError.d.ts +18 -0
  40. package/build/server/ServerError.js +15 -0
  41. package/build/server/ServerError.js.map +1 -0
  42. package/build/{Server → server}/Session.d.ts +9 -13
  43. package/build/{Server → server}/Session.js +34 -35
  44. package/build/server/Session.js.map +1 -0
  45. package/build/{Config.d.ts → server/config/Config.d.ts} +19 -3
  46. package/build/server/config/Config.js +60 -0
  47. package/build/server/config/Config.js.map +1 -0
  48. package/build/server/config/ConfigLoader.d.ts +24 -0
  49. package/build/server/config/ConfigLoader.js +53 -0
  50. package/build/server/config/ConfigLoader.js.map +1 -0
  51. package/build/server/config/ConfigValidator.d.ts +71 -0
  52. package/build/server/config/ConfigValidator.js +131 -0
  53. package/build/server/config/ConfigValidator.js.map +1 -0
  54. package/build/server/router/HttpRule.d.ts +69 -0
  55. package/build/server/router/HttpRule.js +96 -0
  56. package/build/server/router/HttpRule.js.map +1 -0
  57. package/build/server/router/Router.d.ts +127 -0
  58. package/build/server/router/Router.js +211 -0
  59. package/build/server/router/Router.js.map +1 -0
  60. package/build/server/router/Rule.d.ts +71 -0
  61. package/build/server/router/Rule.js +113 -0
  62. package/build/server/router/Rule.js.map +1 -0
  63. package/build/server/router/WsRule.d.ts +25 -0
  64. package/build/server/router/WsRule.js +34 -0
  65. package/build/server/router/WsRule.js.map +1 -0
  66. package/build/server/router/middleware/HttpMiddleware.d.ts +35 -0
  67. package/build/server/router/middleware/HttpMiddleware.js +90 -0
  68. package/build/server/router/middleware/HttpMiddleware.js.map +1 -0
  69. package/build/server/router/middleware/Middleware.d.ts +77 -0
  70. package/build/server/router/middleware/Middleware.js +69 -0
  71. package/build/server/router/middleware/Middleware.js.map +1 -0
  72. package/build/server/router/middleware/WsMiddleware.d.ts +24 -0
  73. package/build/server/router/middleware/WsMiddleware.js +90 -0
  74. package/build/server/router/middleware/WsMiddleware.js.map +1 -0
  75. package/build/{Server/WebSocket → server/websocket}/Chunk.js.map +1 -1
  76. package/build/server/websocket/Websocket.d.ts +88 -0
  77. package/build/{Server/WebSocket/WebSocket.js → server/websocket/Websocket.js} +91 -53
  78. package/build/server/websocket/Websocket.js.map +1 -0
  79. package/build/utilities/ConsoleUI.d.ts +88 -0
  80. package/build/utilities/ConsoleUI.js +141 -0
  81. package/build/utilities/ConsoleUI.js.map +1 -0
  82. package/build/utilities/DebugUI.d.ts +66 -0
  83. package/build/utilities/DebugUI.js +98 -0
  84. package/build/utilities/DebugUI.js.map +1 -0
  85. package/build/utilities/Env.d.ts +81 -0
  86. package/build/{Utilities → utilities}/Env.js +47 -35
  87. package/build/utilities/Env.js.map +1 -0
  88. package/build/utilities/Path.d.ts +24 -0
  89. package/build/utilities/Path.js +36 -0
  90. package/build/{Utilities → utilities}/Path.js.map +1 -1
  91. package/build/{Utilities → utilities}/Utilities.d.ts +68 -55
  92. package/build/{Utilities → utilities}/Utilities.js +36 -19
  93. package/build/utilities/Utilities.js.map +1 -0
  94. package/changes.md +122 -88
  95. package/package.json +10 -13
  96. package/tests/debug.js +9 -3
  97. package/tests/test.js +50 -48
  98. package/tests/utilities.js +1 -1
  99. package/Notes.md +0 -12
  100. package/build/Beta/Mail.js.map +0 -1
  101. package/build/Config.js +0 -33
  102. package/build/Config.js.map +0 -1
  103. package/build/ConsoleUI.d.ts +0 -57
  104. package/build/ConsoleUI.js +0 -110
  105. package/build/ConsoleUI.js.map +0 -1
  106. package/build/Debug.d.ts +0 -154
  107. package/build/Debug.js +0 -256
  108. package/build/Debug.js.map +0 -1
  109. package/build/LoggerManager/Logger.d.ts +0 -23
  110. package/build/LoggerManager/Logger.js +0 -23
  111. package/build/LoggerManager/Logger.js.map +0 -1
  112. package/build/LoggerManager/LoggerManager.d.ts +0 -18
  113. package/build/LoggerManager/LoggerManager.js +0 -30
  114. package/build/LoggerManager/LoggerManager.js.map +0 -1
  115. package/build/Server/Request.js.map +0 -1
  116. package/build/Server/Response.js.map +0 -1
  117. package/build/Server/Rule.d.ts +0 -81
  118. package/build/Server/Rule.js +0 -146
  119. package/build/Server/Rule.js.map +0 -1
  120. package/build/Server/Server.js +0 -330
  121. package/build/Server/Server.js.map +0 -1
  122. package/build/Server/Session.js.map +0 -1
  123. package/build/Server/WebSocket/WebSocket.d.ts +0 -70
  124. package/build/Server/WebSocket/WebSocket.js.map +0 -1
  125. package/build/Utilities/Env.d.ts +0 -75
  126. package/build/Utilities/Env.js.map +0 -1
  127. package/build/Utilities/Path.d.ts +0 -18
  128. package/build/Utilities/Path.js +0 -27
  129. package/build/Utilities/Utilities.js.map +0 -1
  130. package/tests/test.env +0 -0
  131. /package/build/{Beta → beta}/JwtManager.d.ts +0 -0
  132. /package/build/{Server → server}/BodyParser.d.ts +0 -0
  133. /package/build/{Server → server}/BodyParser.js +0 -0
  134. /package/build/{Server → server}/Cookie.d.ts +0 -0
  135. /package/build/{Server → server}/Cookie.js +0 -0
  136. /package/build/{Server/WebSocket → server/websocket}/Chunk.d.ts +0 -0
  137. /package/build/{Server/WebSocket → server/websocket}/Chunk.js +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"Response.js","sourceRoot":"","sources":["../../src/Server/Response.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,SAAS,MAAM,2BAA2B,CAAC;AAClD,OAAO,QAAQ,MAAM,gBAAgB,CAAC;AAGtC,MAAM,OAAO,QAAQ;IACpB,mDAAmD;IAC5C,OAAO,CAAU;IACxB,sDAAsD;IAC9C,SAAS,CAAmB;IACpC,sDAAsD;IAC/C,YAAY,CAAsB;IACzC;;;;;OAKG;IACH,YAAmB,OAAgB,EAAE,YAAiC,EAAE,YAA8B,EAAE;QACjG,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC3B,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QACjC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,cAAc,EAAE,uBAAuB,CAAC,CAAC;QACrE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;IAC7D,CAAC;IACJ;;;;OAIG;IACI,eAAe,CAAC,SAAiB;QACvC,SAAS,GAAG,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QACjE,SAAS,GAAG,SAAS,CAAC,WAAW,EAAE,CAAC;QAC1C,MAAM,OAAO,GAAoB,EAAE,CAAC;QACpC,MAAM,cAAc,GAA4B;YACtC,MAAM,EAAE,WAAW;YACnB,IAAI,EAAE,iBAAiB;YACvB,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,kBAAkB;YAC1B,KAAK,EAAE,iBAAiB;YACxB,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,eAAe;YACtB,KAAK,EAAE,WAAW;YAClB,KAAK,EAAE,YAAY;YACnB,MAAM,EAAE,YAAY;YACpB,KAAK,EAAE,YAAY;YACnB,KAAK,EAAE,aAAa;YACpB,KAAK,EAAE,WAAW;SACrB,CAAC;QACR,MAAM,kBAAkB,GAAG;YAC1B,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK;SAChD,CAAC;QACF,MAAM,IAAI,GAAG,cAAc,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,IAAI;YAAE,OAAO,CAAC,cAAc,CAAC,GAAG,IAAI,CAAC;QACzC,IAAI,kBAAkB,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE,CAAC;YACnC,OAAO,CAAC,eAAe,CAAC,GAAG,OAAO,CAAC;QACvC,CAAC;QACP,OAAO,OAAO,CAAC;IAChB,CAAC;IACD;;;;OAIG;IACK,WAAW,CAAC,IAAY,EAAE,OAAwB;QACzD,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;QACxD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC;YAAE,OAAO,CAAC,YAAY,CAAC,GAAG,aAAa,CAAC;QACpE,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5C,CAAC;IACD;;;;OAIG;IACI,IAAI,CAAC,IAAmB,EAAE,UAA4B,EAAE;QAC9D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC;QACrC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC;QACzC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QAC/D,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAClC,IAAI,CAAC,CAAC,IAAI,YAAY,EAAE,CAAC,UAAU,CAAC;YAAE,OAAO,KAAK,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACtF,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAC9B,CAAC;IACD;;;;;OAKG;IACI,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,UAA4B,EAAE;QACjE,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE;gBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,iDAAiD,CAAC,CAAC;YACrG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;gBAC9B,MAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC;gBACrD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzD,OAAO,CAAC,gBAAgB,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpD,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;YACpC,CAAC;iBAAM,CAAC;gBACJ,MAAM,IAAI,GAAG,uBAAuB,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;gBACtE,IAAI,CAAC,IAAI;oBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,mCAAmC,CAAC,CAAC;gBACvF,MAAM,CAAC,WAAW,EAAE,SAAS,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACnC,IAAI,CAAC,WAAW;oBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,mCAAmC,CAAC,CAAC;gBAClF,MAAM,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,CAAC;gBAC9C,MAAM,OAAO,GAAG,KAAK,GAAG,IAAI,GAAG,IAAI,CAAC;gBACxB,MAAM,GAAG,GAAG,SAAS;oBAChC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC;oBACnB,CAAC,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI;wBACxB,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC;wBAClB,CAAC,CAAC,OAAO,CAAC;gBACZ,IAAI,KAAK,GAAG,OAAO,CAAC,IAAI,IAAI,GAAG,GAAG,OAAO,CAAC,IAAI;oBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,mCAAmC,CAAC,CAAC;gBAChH,MAAM,IAAI,GAAG,GAAG,GAAG,KAAK,GAAG,CAAC,CAAC;gBAC7B,MAAM,MAAM,GAAG,EAAE,CAAC,gBAAgB,CAAC,IAAI,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;gBACzD,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzD,OAAO,CAAC,gBAAgB,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;gBAC5C,OAAO,CAAC,eAAe,CAAC,GAAG,SAAS,KAAK,IAAI,GAAG,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;gBACnE,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;YACpC,CAAC;QACL,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YACZ,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,yCAAyC,CAAC,CAAC;QAC5G,CAAC;IACR,CAAC;IACD;;;;;OAKG;IACI,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,YAAoB;QACvD,QAAQ,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,GAAG,GAAG,CAAC;QAC9D,YAAY,GAAG,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC;QAC3F,MAAM,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,GAAG,YAAY,CAAC,CAAC;QACzD,IAAI,CAAC;YACV,IAAI,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;gBAAE,OAAO,KAAK,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,iCAAiC,CAAC,CAAC;YAC3F,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7C,IAAI,OAAO,CAAC,MAAM,EAAE;gBAAE,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YACjD,IAAI,CAAC,OAAO,CAAC,WAAW,EAAE;gBAAE,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,iCAAiC,CAAC,CAAC;YAC1F,MAAM,MAAM,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YAC/C,IAAI,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;gBACxB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE;oBACrC,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;oBACrB,MAAM;iBACT,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,gCAAgC,CAAC,EAAE;oBACzE,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;oBACrB,MAAM;iBACT,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YACZ,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,mDAAmD,CAAC,CAAC;QACtH,CAAC;IACR,CAAC;IACD;;;;;;OAMG;IACI,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,IAAY,EAAE,UAA4B,EAAE;QACnF,IAAI,GAAG,SAAS,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC;YACD,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC1D,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC;YACrC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;YAChE,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QACpC,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YACZ,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,6CAA6C,CAAC,CAAC;QAChH,CAAC;IACR,CAAC;IACD;;;;OAIG;IACI,QAAQ,CAAC,IAAS,EAAE,UAA4B,EAAE;QACxD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAClC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,GAAG,CAAC;QACrC,MAAM,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IACnC,CAAC;IACJ;;;;OAIG;IACI,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,OAAe;QAC/C,IAAI,CAAC;YACD,IAAI,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;gBACvB,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE;oBACvD,MAAM,EAAE,OAAO;iBAClB,CAAC,CAAC;gBACf,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gBACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YACrD,CAAC;iBAAM,CAAC;gBACJ,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,CAAC,+BAA+B,CAAC,EAAE;oBAC3F,MAAM,EAAE,OAAO;iBAClB,CAAC,CAAC;gBACf,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gBACjC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YACrD,CAAC;QACL,CAAC;QAAC,OAAM,KAAK,EAAE,CAAC;YACrB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YACrB,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;YACnC,IAAI,CAAC,IAAI,CAAC,UAAU,MAAM,OAAO,OAAO,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;QAC7E,CAAC;IACR,CAAC;IACO,KAAK,CAAC,SAAS,CAAC,IAAY;QACnC,IAAI,CAAC;YAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAAC,OAAO,IAAI,CAAC;QAAC,CAAC;QAClD,OAAM,KAAK,EAAE,CAAC;YAAC,OAAO,KAAK,CAAC;QAAC,CAAC;IAC/B,CAAC;CACD;AAkBD,eAAe,QAAQ,CAAC"}
@@ -1,81 +0,0 @@
1
- /**
2
- * @author NetFeez <codefeez.dev@gmail.com>
3
- * @description Contains routing rule logic for Vortez.
4
- * @license Apache-2.0
5
- */
6
- import Request from './Request.js';
7
- import Response from './Response.js';
8
- import WebSocket from './WebSocket/WebSocket.js';
9
- export declare class Rule<T extends keyof Rule.Type = keyof Rule.Type> {
10
- /** The type of the routing rule */
11
- type: T;
12
- /** The HTTP method accepted by the routing rule */
13
- method: Request.Method;
14
- /** The UrlRule with which the routing rule was created */
15
- urlRule: string;
16
- /** The authentication function */
17
- authExec: Rule.AuthExec;
18
- /** The regular expression for the routing rule */
19
- expression: RegExp;
20
- /** The executable content for the routing rule */
21
- content: Rule.Type[T];
22
- /**
23
- * Creates a routing rule for Vortez.
24
- * @param type - The rule type.
25
- * @param method - The HTTP method of the rule.
26
- * @param urlRule - The URL rule adopted by this Rule instance.
27
- * @param content - The executable content of the rule.
28
- * @param authExec - The authentication function.
29
- */
30
- constructor(type: T, method: Request.Method, urlRule: string, content: Rule.Type[T], authExec?: Rule.AuthExec);
31
- /**
32
- * Executes the rule's content.
33
- * @param request - The Request that matched the rule.
34
- * @param client - The client that made the request.
35
- */
36
- exec(request: Request, client: Rule.ClientType<T>): void;
37
- /**
38
- * Checks whether a URL matches this route.
39
- * Also sets the Request.ruleParams.
40
- * @param request - The incoming request.
41
- * @param isWebSocket - Whether to check for a WebSocket route.
42
- */
43
- test(request: Request, isWebSocket?: boolean): boolean;
44
- /**
45
- * Validates whether the request passes authentication.
46
- * @param request - The incoming request.
47
- */
48
- testAuth(request: Request): boolean;
49
- /**
50
- * Retrieves the ruleParams from the routing rule if available.
51
- * @param path - The URL to resolve.
52
- */
53
- getParams(path: string): Rule.ruleParams;
54
- /**
55
- * Extracts the surplus URL using the rule's expression.
56
- * @param url - The full URL to extract from.
57
- */
58
- getSurplus(url: string): string;
59
- /**
60
- * Creates a regular expression for route matching.
61
- * @param urlRule - The UrlRule used to form the RegExp.
62
- * @throws Invalid URL rule format
63
- */
64
- private getExpression;
65
- }
66
- export declare namespace Rule {
67
- type AuthExec = (Request: Request) => boolean;
68
- type ActionExec = (Request: Request, Response: Response) => void;
69
- type WebSocketExec = (Request: Request, WebSocket: WebSocket) => void;
70
- type ClientType<T extends keyof Type> = T extends 'WebSocket' ? WebSocket : Response;
71
- interface ruleParams {
72
- [name: string]: string | undefined;
73
- }
74
- type Type = {
75
- File: string;
76
- Folder: string;
77
- Action: ActionExec;
78
- WebSocket: WebSocketExec;
79
- };
80
- }
81
- export default Rule;
@@ -1,146 +0,0 @@
1
- /**
2
- * @author NetFeez <codefeez.dev@gmail.com>
3
- * @description Contains routing rule logic for Vortez.
4
- * @license Apache-2.0
5
- */
6
- export class Rule {
7
- /** The type of the routing rule */
8
- type;
9
- /** The HTTP method accepted by the routing rule */
10
- method;
11
- /** The UrlRule with which the routing rule was created */
12
- urlRule;
13
- /** The authentication function */
14
- authExec;
15
- /** The regular expression for the routing rule */
16
- expression;
17
- /** The executable content for the routing rule */
18
- content;
19
- /**
20
- * Creates a routing rule for Vortez.
21
- * @param type - The rule type.
22
- * @param method - The HTTP method of the rule.
23
- * @param urlRule - The URL rule adopted by this Rule instance.
24
- * @param content - The executable content of the rule.
25
- * @param authExec - The authentication function.
26
- */
27
- constructor(type, method, urlRule, content, authExec) {
28
- if (!urlRule.startsWith('/'))
29
- urlRule = '/' + urlRule;
30
- if (urlRule.endsWith('/'))
31
- urlRule = urlRule.slice(0, -1);
32
- this.urlRule = urlRule;
33
- this.type = type;
34
- this.method = method;
35
- this.expression = this.getExpression(urlRule);
36
- this.content = content;
37
- this.authExec = authExec ?? (() => true);
38
- }
39
- /**
40
- * Executes the rule's content.
41
- * @param request - The Request that matched the rule.
42
- * @param client - The client that made the request.
43
- */
44
- exec(request, client) {
45
- request.ruleParams = this.getParams(request.url);
46
- if (this.testAuth(request))
47
- switch (this.type) {
48
- case 'Action':
49
- this.content(request, client);
50
- break;
51
- case 'File':
52
- client.sendFile(this.content);
53
- break;
54
- case 'Folder':
55
- client.sendFolder(this.content, this.getSurplus(request.url));
56
- break;
57
- case 'WebSocket':
58
- this.content(request, client);
59
- break;
60
- }
61
- }
62
- /**
63
- * Checks whether a URL matches this route.
64
- * Also sets the Request.ruleParams.
65
- * @param request - The incoming request.
66
- * @param isWebSocket - Whether to check for a WebSocket route.
67
- */
68
- test(request, isWebSocket = false) {
69
- let result = false;
70
- if (isWebSocket) {
71
- result = this.type == 'WebSocket'
72
- ? this.expression.test(request.url)
73
- : false;
74
- }
75
- else {
76
- result = this.method == request.method || this.method == 'ALL'
77
- ? this.expression.test(request.url)
78
- : false;
79
- }
80
- return result;
81
- }
82
- /**
83
- * Validates whether the request passes authentication.
84
- * @param request - The incoming request.
85
- */
86
- testAuth(request) {
87
- return !this.authExec || this.authExec(request);
88
- }
89
- /**
90
- * Retrieves the ruleParams from the routing rule if available.
91
- * @param path - The URL to resolve.
92
- */
93
- getParams(path) {
94
- const math = this.expression.exec(path);
95
- if (!math)
96
- return {};
97
- return { ...math.groups };
98
- }
99
- /**
100
- * Extracts the surplus URL using the rule's expression.
101
- * @param url - The full URL to extract from.
102
- */
103
- getSurplus(url) {
104
- if (this.type == 'Folder') {
105
- const folderExp = new RegExp(this.expression.source.replace(/\.\+\?\$$/, ''));
106
- return url.replace(folderExp, '');
107
- }
108
- else
109
- return url.replace(this.expression, '');
110
- }
111
- /**
112
- * Creates a regular expression for route matching.
113
- * @param urlRule - The UrlRule used to form the RegExp.
114
- * @throws Invalid URL rule format
115
- */
116
- getExpression(urlRule) {
117
- const validators = {
118
- param: /^\$(?<param>.+)$/,
119
- scape: /\\(?![\$\[\]\*\+\?\.\(\)\{\}\^\|\-])|(?<!\\)[\$\[\]\*\+\?\.\(\)\{\}\^\|\-]/gi,
120
- };
121
- const zones = urlRule.split('/').slice(1);
122
- let regExpString = '^';
123
- for (let index = 0; index < zones.length; index++) {
124
- const zone = zones[index];
125
- regExpString += '\/';
126
- if (validators.param.test(zone)) {
127
- const match = validators.param.exec(zone);
128
- if (match && match.groups) {
129
- const param = match.groups['param'].replace(validators.scape, '');
130
- regExpString += `(?<${param}>[^\/]+?)`;
131
- }
132
- }
133
- else if (zone == '*') {
134
- regExpString += index < (zones.length - 1)
135
- ? '(?:[^\/]+)?'
136
- : '(?:.+)?';
137
- }
138
- else
139
- regExpString += zone;
140
- }
141
- regExpString += `\/?${this.type == 'Folder' ? '.+?' : ''}$`;
142
- return new RegExp(regExpString);
143
- }
144
- }
145
- export default Rule;
146
- //# sourceMappingURL=Rule.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Rule.js","sourceRoot":"","sources":["../../src/Server/Rule.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,OAAO,IAAI;IACb,mCAAmC;IAC5B,IAAI,CAAI;IACf,mDAAmD;IAC5C,MAAM,CAAiB;IAC9B,0DAA0D;IACnD,OAAO,CAAS;IACvB,kCAAkC;IAC3B,QAAQ,CAAgB;IAC/B,kDAAkD;IAC3C,UAAU,CAAS;IAC1B,kDAAkD;IAC3C,OAAO,CAAe;IAC7B;;;;;;;OAOG;IACH,YAAmB,IAAO,EAAE,MAAsB,EAAE,OAAe,EAAE,OAAqB,EAAE,QAAwB;QAChH,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,GAAG,GAAG,OAAO,CAAC;QACtD,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IAC7C,CAAC;IACD;;;;OAIG;IACI,IAAI,CAAC,OAAgB,EAAE,MAA0B;QACpD,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;QACjD,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC;YAAE,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;gBAC5C,KAAK,QAAQ;oBAAM,IAAuB,CAAC,OAAO,CAAC,OAAO,EAAG,MAAoC,CAAC,CAAC;oBAAC,MAAM;gBAC1G,KAAK,MAAM;oBAAQ,MAAkC,CAAC,QAAQ,CAAE,IAAqB,CAAC,OAAO,CAAC,CAAC;oBAAC,MAAM;gBACtG,KAAK,QAAQ;oBAAM,MAAoC,CAAC,UAAU,CAAE,IAAuB,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;oBAAC,MAAM;gBAC1I,KAAK,WAAW;oBAAG,IAA0B,CAAC,OAAO,CAAC,OAAO,EAAG,MAAuC,CAAC,CAAC;oBAAC,MAAM;YACpH,CAAC;IACL,CAAC;IACD;;;;;OAKG;IACI,IAAI,CAAC,OAAgB,EAAE,cAAuB,KAAK;QACtD,IAAI,MAAM,GAAG,KAAK,CAAC;QACnB,IAAI,WAAW,EAAE,CAAC;YACd,MAAM,GAAG,IAAI,CAAC,IAAI,IAAI,WAAW;gBACjC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;gBACnC,CAAC,CAAC,KAAK,CAAC;QACZ,CAAC;aAAM,CAAC;YACJ,MAAM,GAAG,IAAI,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,MAAM,IAAI,KAAK;gBAC9D,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC;gBACnC,CAAC,CAAC,KAAK,CAAC;QACZ,CAAC;QACD,OAAO,MAAM,CAAC;IAClB,CAAC;IACD;;;OAGG;IACI,QAAQ,CAAC,OAAgB;QAC5B,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IACpD,CAAC;IACD;;;OAGG;IACI,SAAS,CAAC,IAAY;QACzB,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI;YAAE,OAAO,EAAE,CAAC;QACrB,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC9B,CAAC;IACD;;;OAGG;IACI,UAAU,CAAC,GAAW;QACzB,IAAI,IAAI,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;YACxB,MAAM,SAAS,GAAG,IAAI,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC,CAAC;YAC9E,OAAO,GAAG,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACtC,CAAC;;YAAM,OAAO,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;IACnD,CAAC;IACD;;;;OAIG;IACK,aAAa,CAAC,OAAe;QACjC,MAAM,UAAU,GAAG;YACf,KAAK,EAAE,kBAAkB;YACzB,KAAK,EAAE,8EAA8E;SACxF,CAAC;QACF,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAC1C,IAAI,YAAY,GAAG,GAAG,CAAC;QACvB,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YAChD,MAAM,IAAI,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC;YAC1B,YAAY,IAAI,IAAI,CAAC;YACrB,IAAI,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBAC9B,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAC1C,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;oBACxB,MAAM,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;oBAClE,YAAY,IAAI,MAAM,KAAK,WAAW,CAAC;gBAC3C,CAAC;YACL,CAAC;iBAAM,IAAI,IAAI,IAAI,GAAG,EAAE,CAAC;gBACrB,YAAY,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;oBACtC,CAAC,CAAC,aAAa;oBACf,CAAC,CAAC,SAAS,CAAC;YACpB,CAAC;;gBAAM,YAAY,IAAI,IAAI,CAAC;QAChC,CAAC;QACD,YAAY,IAAI,MAAM,IAAI,CAAC,IAAI,IAAI,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC;QAC5D,OAAO,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC;IACpC,CAAC;CACJ;AAkBD,eAAe,IAAI,CAAC"}
@@ -1,330 +0,0 @@
1
- /**
2
- * @author NetFeez <codefeez.dev@gmail.com>
3
- * @description Adds a simple way to create HTTP/S and WS/S servers.
4
- * @license Apache-2.0
5
- */
6
- import HTTP from 'http';
7
- import FS from 'fs';
8
- import HTTPS from 'https';
9
- import Utilities from '../Utilities/Utilities.js';
10
- import _LoggerManager from '../LoggerManager/LoggerManager.js';
11
- import _Config from '../Config.js';
12
- import _Request from "./Request.js";
13
- import _Response from "./Response.js";
14
- import _Session from "./Session.js";
15
- import _Cookie from "./Cookie.js";
16
- import _WebSocket from "./WebSocket/WebSocket.js";
17
- import _Rule from './Rule.js';
18
- const $logger = _LoggerManager.getInstance();
19
- export class Server {
20
- protocol;
21
- HttpServer;
22
- HttpsServer;
23
- rules;
24
- config;
25
- logger;
26
- /**
27
- * Creates an HTTP/S server.
28
- * @param port - The port the server will listen on.
29
- * @param host - The host the server will bind to.
30
- * @param sslOptions - The SSL configuration.
31
- */
32
- constructor(options) {
33
- this.config = options instanceof Server.Config ? options : new Server.Config(options);
34
- this.rules = [];
35
- this.HttpServer = null;
36
- this.HttpsServer = null;
37
- this.protocol = null;
38
- this.logger = _LoggerManager.getInstance();
39
- this.addFolder('/NetFeez-Labs:Global', Utilities.Path.normalize(`${Utilities.Path.moduleDir}/global`));
40
- }
41
- /**
42
- * Starts the server.
43
- */
44
- async start() {
45
- const { port, host, ssl: sslOptions } = this.config;
46
- this.protocol = sslOptions ? 'HTTP/S' : 'HTTP';
47
- $logger.info('&C(255,180,220)╭─────────────────────────────────────────────');
48
- $logger.info('&C(255,180,220)│ &C1Vortez by NetFeez');
49
- $logger.info('&C(255,180,220)│ &C1Server starting...');
50
- $logger.info('&C(255,180,220)├─────────────────────────────────────────────');
51
- try {
52
- this.HttpServer = await this.initHTTP(port, host);
53
- $logger.info(`&C(255,180,220)│ &C3Protocol: &R${this.protocol}`);
54
- $logger.info(`&C(255,180,220)│ &C3Host: &R${host}`);
55
- $logger.info(`&C(255,180,220)│ &C3HTTP Port: &R${port}`);
56
- $logger.info(`&C(255,180,220)│ &C3HTTP URL: &C6http://${host}:${port}`);
57
- try {
58
- if (sslOptions) {
59
- this.HttpsServer = await this.initHTTPS(host, sslOptions);
60
- $logger.info(`&C(255,180,220)│ &C3HTTPS Port: &R${sslOptions.port ?? 443}`);
61
- $logger.info(`&C(255,180,220)│ &C3HTTPS URL: &C6https://${host}:${sslOptions.port ?? 443}`);
62
- }
63
- }
64
- catch (error) {
65
- throw Error('Certificate error ' + (error instanceof Error ? error.message : error), { cause: error });
66
- }
67
- $logger.info('&C(255,180,220)╰─────────────────────────────────────────────');
68
- }
69
- catch (error) {
70
- $logger.error(`&C(255,180,220)│ &C1✖ Error starting server: &R&C6${error instanceof Error ? error.message : error}`);
71
- $logger.info('&C(255,180,220)╰─────────────────────────────────────────────');
72
- this.stop();
73
- }
74
- }
75
- /**
76
- * Stops the server.
77
- */
78
- async stop() {
79
- try {
80
- $logger.info('&C6╭─────────────────────────────');
81
- $logger.info('&C6│ &C1Stopping server...');
82
- if (this.HttpServer) {
83
- await this.stopHTTP();
84
- $logger.info('&C6│ &C3✔ HTTP server stopped');
85
- }
86
- if (this.HttpsServer) {
87
- await this.stopHTTPS();
88
- $logger.info('&C6│ &C3✔ HTTPS server stopped');
89
- }
90
- $logger.info('&C6│ &C2✔ All servers stopped successfully');
91
- $logger.info('&C6╰─────────────────────────────');
92
- }
93
- catch (error) {
94
- $logger.error('&C1✖ Error stopping server: &R&C6' + (error instanceof Error ? error.message : error));
95
- $logger.info('&C2╰─────────────────────────────');
96
- }
97
- }
98
- /**
99
- * Stops the HTTP server.
100
- */
101
- async stopHTTP() {
102
- return new Promise((resolve, reject) => {
103
- if (this.HttpServer)
104
- this.HttpServer.close((error) => error ? reject(error) : resolve());
105
- else
106
- resolve();
107
- });
108
- }
109
- /**
110
- * Stops the HTTPS server.
111
- */
112
- async stopHTTPS() {
113
- return new Promise((resolve, reject) => {
114
- if (this.HttpsServer)
115
- this.HttpsServer.close((error) => error ? reject(error) : resolve());
116
- else
117
- resolve();
118
- });
119
- }
120
- /**
121
- * Restarts the server.
122
- */
123
- async restart() {
124
- await this.stop();
125
- await this.start();
126
- }
127
- /**
128
- * Initializes the HTTP server.
129
- * @param port - The port the HTTP server will listen on.
130
- * @param host - The host the HTTP server will bind to.
131
- * @returns A promise that resolves with the created HTTP server.
132
- */
133
- async initHTTP(port, host) {
134
- const http = HTTP.createServer();
135
- http.on('request', this.requestManager.bind(this));
136
- http.on('upgrade', this.upgradeManager.bind(this));
137
- return new Promise((resolve) => http.listen(port, host, () => resolve(http)));
138
- }
139
- /**
140
- * Initializes the HTTPS server.
141
- * @param host - The host the HTTPS server will bind to.
142
- * @param sslOptions - The SSL configuration.
143
- * @returns A promise that resolves with the created HTTPS server.
144
- */
145
- async initHTTPS(host, sslOptions) {
146
- const port = sslOptions.port ?? 443;
147
- const cert = await Server.loadCertificates(sslOptions.pubKey, sslOptions.privKey);
148
- const https = HTTPS.createServer(cert);
149
- https.on('request', this.requestManager.bind(this));
150
- https.on('upgrade', this.upgradeManager.bind(this));
151
- return new Promise((resolve) => https.listen(port, host, () => resolve(https)));
152
- }
153
- /**
154
- * Adds one or more routing rules to the server.
155
- * @param rules - The rule(s) to be added.
156
- */
157
- addRules(...rules) {
158
- this.rules = this.rules.concat(rules);
159
- return this;
160
- }
161
- /**
162
- * Adds an action routing rule.
163
- * @param method - The HTTP method to respond to.
164
- * @param urlRule - The URL path for the action.
165
- * @param action - The action to be executed.
166
- * @param auth - The optional authorization check function.
167
- */
168
- addAction(method, urlRule, action, auth) {
169
- this.addRules(new Server.Rule('Action', method, urlRule, action, auth));
170
- return this;
171
- }
172
- /**
173
- * Adds a file routing rule.
174
- * @param urlRule - The URL path to listen on.
175
- * @param source - The path to the file to be served.
176
- * @param auth - The optional authorization check function.
177
- */
178
- addFile(urlRule, source, auth) {
179
- this.addRules(new Server.Rule('File', 'GET', urlRule, source, auth));
180
- return this;
181
- }
182
- /**
183
- * Adds a folder routing rule.
184
- * @param urlRule - The URL path to listen on.
185
- * @param source - The directory path to be served.
186
- * @param auth - The optional authorization check function.
187
- */
188
- addFolder(urlRule, source, auth) {
189
- this.addRules(new Server.Rule('Folder', 'GET', urlRule, source, auth));
190
- return this;
191
- }
192
- /**
193
- * Adds a WebSocket routing rule.
194
- * @param urlRule - The URL path to listen on.
195
- * @param action - The action to be executed on connection.
196
- * @param auth - The optional authorization check function.
197
- */
198
- addWebSocket(urlRule, action, auth) {
199
- this.addRules(new Server.Rule('WebSocket', 'ALL', urlRule, action, auth));
200
- return this;
201
- }
202
- /**
203
- * Defines default `.vhtml` templates for the server.
204
- * @param name - The name of the template.
205
- * @param path - The path to the `.vhtml` template file.
206
- */
207
- setTemplate(name, path) {
208
- this.config.templates[name] = path;
209
- return this;
210
- }
211
- /**
212
- * Routes incoming HTTP requests to be processed.
213
- * @param request - The received HTTP request.
214
- * @param response - The server response handler.
215
- * @throws If no routing rule matches the request.
216
- */
217
- routeRequest(request, response) {
218
- let routed = false;
219
- for (const rule of this.rules) {
220
- if (rule.test(request)) {
221
- if (rule.testAuth(request)) {
222
- try {
223
- rule.exec(request, response);
224
- }
225
- catch (error) {
226
- $logger.request.error('&C1Error executing rule:&R&C6', (error instanceof Error ? error.message : error));
227
- $logger.request.error('&C1Route:', request.method, request.url);
228
- response.sendError(500, 'Internal Server Error');
229
- }
230
- }
231
- else
232
- response.sendError(403, `You don't have permission to access: ${request.method} -> ${request.url}`);
233
- routed = true;
234
- break;
235
- }
236
- }
237
- if (!(routed))
238
- response.sendError(400, `No router for: ${request.method} -> ${request.url}`);
239
- }
240
- /**
241
- * Routes WebSocket connection requests.
242
- * @param request - The received HTTP request.
243
- * @param webSocket - The WebSocket connection with the client.
244
- * @throws If no WebSocket routing rule matches.
245
- */
246
- routeWebSocket(request, webSocket) {
247
- let routed = false;
248
- for (const rule of this.rules) {
249
- if (rule.test(request, true)) {
250
- if (rule.testAuth(request)) {
251
- const AcceptKey = (request.headers['sec-websocket-key'] ?? '').trim();
252
- webSocket.acceptConnection(AcceptKey, request.cookies);
253
- try {
254
- rule.exec(request, webSocket);
255
- }
256
- catch (error) {
257
- $logger.webSocket.error('&C1Error executing rule:&R&C6', (error instanceof Error ? error.message : error));
258
- $logger.webSocket.error('&C1Route:', request.method, request.url);
259
- webSocket.send('HTTP/1.1 500 Internal Server Error\r\nConnection: close\r\n\r\n');
260
- webSocket.end();
261
- }
262
- }
263
- else {
264
- webSocket.send('HTTP/1.1 403 Forbidden\r\nConnection: close\r\n\r\n');
265
- webSocket.end();
266
- }
267
- routed = true;
268
- break;
269
- }
270
- }
271
- if (!(routed))
272
- webSocket.send(`HTTP/1.1 400 Bad request\r\nNo router for: ${request.method} -> ${request.url}\r\n\r\n`);
273
- }
274
- /**
275
- * Triggered when the server receives an HTTP request.
276
- * @param HttpRequest - The incoming HTTP request.
277
- * @param HttpResponse - The server response stream.
278
- */
279
- requestManager(HttpRequest, HttpResponse) {
280
- const request = new Server.Request(HttpRequest);
281
- const response = new Server.Response(request, HttpResponse, this.config.templates);
282
- const sessionID = request.cookies.get('Session');
283
- $logger.request.log(request.ip, request.method, request.url, sessionID);
284
- this.routeRequest(request, response);
285
- }
286
- ;
287
- /**
288
- * Will be executed when the server receives an upgrade request.
289
- * @param HttpRequest The request received by the server.
290
- * @param Socket The socket to respond with (WebSocket upgrade).
291
- */
292
- upgradeManager(HttpRequest, Socket) {
293
- const request = new Server.Request(HttpRequest);
294
- const webSocket = new Server.WebSocket(Socket);
295
- const sessionID = request.cookies.get('Session');
296
- $logger.webSocket.log(request.ip, request.method, request.url, sessionID);
297
- this.routeWebSocket(request, webSocket);
298
- }
299
- /**
300
- * Loads the SSL key and certificate and returns their content as strings.
301
- * @param pathCert Path to the SSL certificate.
302
- * @param pathKey Path to the SSL key.
303
- * @returns An object containing the certificate and key as Buffers.
304
- */
305
- static async loadCertificates(pathCert, pathKey) {
306
- pathCert = Utilities.Path.normalize(pathCert);
307
- pathKey = Utilities.Path.normalize(pathKey);
308
- const certInfo = await FS.promises.stat(pathCert);
309
- const keyInfo = await FS.promises.stat(pathKey);
310
- if (!(certInfo.isFile()))
311
- return Promise.reject('The certificate path is not a file');
312
- if (!(keyInfo.isFile()))
313
- return Promise.reject('The key path is not a file');
314
- const cert = await FS.promises.readFile(pathCert);
315
- const key = await FS.promises.readFile(pathKey);
316
- return { cert, key };
317
- }
318
- }
319
- (function (Server) {
320
- Server.Config = _Config;
321
- Server.Cookie = _Cookie;
322
- Server.Request = _Request;
323
- Server.Response = _Response;
324
- Server.Session = _Session;
325
- Server.WebSocket = _WebSocket;
326
- Server.Rule = _Rule;
327
- Server.LoggerManager = _LoggerManager;
328
- })(Server || (Server = {}));
329
- export default Server;
330
- //# sourceMappingURL=Server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Server.js","sourceRoot":"","sources":["../../src/Server/Server.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"Session.js","sourceRoot":"","sources":["../../src/Server/Session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,6DAA6D;AAC7D,mEAAmE;AACnE,uEAAuE;AACvE,0DAA0D;AAC1D,qEAAqE;AACrE,kEAAkE;AAElE,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,MAAM,MAAM,QAAQ,CAAC;AAI5B,MAAM,OAAO,OAAQ,SAAQ,MAAM;IAC/B,gCAAgC;IACxB,MAAM,CAAC,QAAQ,GAAyB,IAAI,GAAG,CAAC;IACxD,2BAA2B;IACnB,IAAI,CAAmB;IAC/B,oCAAoC;IAC5B,SAAS,CAAS;IAC1B;;;;OAIG;IACI,MAAM,CAAC,WAAW,CAAC,OAAe;QACrC,IAAI,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QACvC,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YAChC,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE;gBAC9B,MAAM,EAAE,IAAI;gBACZ,QAAQ,EAAE,IAAI;gBACd,IAAI,EAAE,GAAG;gBACT,OAAO,EAAE,CAAC,GAAG,EAAE;oBACX,MAAM,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;oBACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC;oBACzC,OAAO,IAAI,CAAC;gBAChB,CAAC,CAAC,EAAE;aACP,CAAC,CAAC;QACP,CAAC;QACD,IAAI,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO,EAAE,CAAC;YACX,OAAO,GAAG,IAAI,OAAO,CAAC,SAAS,CAAC,CAAC;YACjC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;QAC7C,CAAC;QACD,OAAO,OAAO,CAAC;IACnB,CAAC;IACD;;;OAGG;IACH,YAAoB,SAAiB;QAAI,KAAK,EAAE,CAAC;QAC7C,IAAI,CAAC,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC/B,CAAC;IACD;;;OAGG;IACI,KAAK,KAAa,OAAO,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC;IACjD;;;;OAIG;IACI,GAAG,CAAC,IAAY,IAAa,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjE;;;;OAIG;IACI,GAAG,CAAC,IAAY,IAAqB,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACzE;;;;OAIG;IACI,MAAM;QACT,MAAM,IAAI,GAA0B,EAAE,CAAC;QACvC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC;QACrD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD;;;;OAIG;IACI,GAAG,CAAC,IAAY,EAAE,KAAU,IAAU,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IAC1E;;;OAGG;IACI,MAAM,CAAC,IAAY,IAAU,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;AASjE,eAAe,OAAO,CAAC"}