vortez 5.0.0-dev.19 → 5.0.1

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 (106) hide show
  1. package/.gitignore +2 -0
  2. package/README.md +33 -9
  3. package/build/Template/Compiler.d.ts +70 -0
  4. package/build/Template/Compiler.js +135 -0
  5. package/build/Template/Compiler.js.map +1 -0
  6. package/build/Template/StreamCompiler.d.ts +16 -0
  7. package/build/Template/StreamCompiler.js +54 -0
  8. package/build/Template/StreamCompiler.js.map +1 -0
  9. package/build/Template/Template.d.ts +49 -0
  10. package/build/Template/Template.js +77 -0
  11. package/build/Template/Template.js.map +1 -0
  12. package/build/Vortez.d.ts +1 -1
  13. package/build/Vortez.js +1 -1
  14. package/build/Vortez.js.map +1 -1
  15. package/build/beta/JwtManager/JwtError.d.ts +8 -0
  16. package/build/beta/JwtManager/JwtError.js +10 -0
  17. package/build/beta/JwtManager/JwtError.js.map +1 -0
  18. package/build/beta/JwtManager/JwtManager.d.ts +4 -0
  19. package/build/beta/JwtManager/JwtManager.js +27 -7
  20. package/build/beta/JwtManager/JwtManager.js.map +1 -1
  21. package/build/server/BodyParser.d.ts +6 -0
  22. package/build/server/BodyParser.js +18 -3
  23. package/build/server/BodyParser.js.map +1 -1
  24. package/build/server/Request.d.ts +6 -4
  25. package/build/server/Request.js +15 -10
  26. package/build/server/Request.js.map +1 -1
  27. package/build/server/Response.d.ts +56 -10
  28. package/build/server/Response.js +204 -92
  29. package/build/server/Response.js.map +1 -1
  30. package/build/server/Server.js +29 -6
  31. package/build/server/Server.js.map +1 -1
  32. package/build/server/config/Config.d.ts +15 -13
  33. package/build/server/config/Config.js +8 -6
  34. package/build/server/config/Config.js.map +1 -1
  35. package/build/server/config/Loader.js +1 -1
  36. package/build/server/config/Loader.js.map +1 -1
  37. package/build/server/router/Router.d.ts +1 -1
  38. package/build/server/router/Router.js +4 -4
  39. package/build/server/router/Router.js.map +1 -1
  40. package/build/server/router/middleware/HttpMiddleware.js +5 -5
  41. package/build/server/router/middleware/HttpMiddleware.js.map +1 -1
  42. package/build/server/router/middleware/WsMiddleware.js +1 -1
  43. package/build/server/router/middleware/WsMiddleware.js.map +1 -1
  44. package/build/server/security/PathSecurity.d.ts +45 -0
  45. package/build/server/security/PathSecurity.js +108 -0
  46. package/build/server/security/PathSecurity.js.map +1 -0
  47. package/build/server/websocket/Websocket.js +4 -1
  48. package/build/server/websocket/Websocket.js.map +1 -1
  49. package/build/utilities/ConsoleUI.d.ts +2 -1
  50. package/build/utilities/ConsoleUI.js +2 -1
  51. package/build/utilities/ConsoleUI.js.map +1 -1
  52. package/build/utilities/DebugUI.d.ts +1 -1
  53. package/build/utilities/DebugUI.js +1 -1
  54. package/build/utilities/Encoding.d.ts +22 -0
  55. package/build/utilities/Encoding.js +26 -0
  56. package/build/utilities/Encoding.js.map +1 -0
  57. package/build/utilities/Env.js +7 -2
  58. package/build/utilities/Env.js.map +1 -1
  59. package/build/utilities/File.d.ts +10 -0
  60. package/build/utilities/File.js +19 -0
  61. package/build/utilities/File.js.map +1 -0
  62. package/build/utilities/Flatten.d.ts +18 -1
  63. package/build/utilities/Flatten.js +18 -1
  64. package/build/utilities/Flatten.js.map +1 -1
  65. package/build/utilities/Object.d.ts +16 -0
  66. package/build/utilities/Object.js +48 -0
  67. package/build/utilities/Object.js.map +1 -0
  68. package/build/utilities/Path.d.ts +31 -11
  69. package/build/utilities/Path.js +48 -15
  70. package/build/utilities/Path.js.map +1 -1
  71. package/build/utilities/Time.d.ts +21 -0
  72. package/build/utilities/Time.js +25 -0
  73. package/build/utilities/Time.js.map +1 -0
  74. package/build/utilities/Utilities.d.ts +43 -34
  75. package/build/utilities/Utilities.js +48 -38
  76. package/build/utilities/Utilities.js.map +1 -1
  77. package/changes.md +5 -0
  78. package/docs/ARCHITECTURE.md +142 -0
  79. package/global/style/template/error.css +29 -0
  80. package/global/style/template/folder.css +79 -0
  81. package/global/{Style/Template/Template.css → style/template/template.css} +60 -68
  82. package/global/template/error.vhtml +29 -0
  83. package/global/template/folder.vhtml +54 -0
  84. package/package.json +2 -2
  85. package/build/Template.d.ts +0 -46
  86. package/build/Template.js +0 -81
  87. package/build/Template.js.map +0 -1
  88. package/global/Style/Template/Error.css +0 -30
  89. package/global/Style/Template/Folder.css +0 -77
  90. package/global/Template/Error.vhtml +0 -29
  91. package/global/Template/Folder.vhtml +0 -41
  92. package/tests/Template/template.js +0 -18
  93. package/tests/Template/template.txt +0 -13
  94. package/tests/Template/template.vhtml +0 -23
  95. package/tests/config/config.js +0 -233
  96. package/tests/debug.js +0 -34
  97. package/tests/jwtManager/jwtManager.js +0 -342
  98. package/tests/router.js +0 -596
  99. package/tests/schema/schema.js +0 -368
  100. package/tests/test.env +0 -0
  101. package/tests/test.js +0 -131
  102. package/tests/test.vhtml +0 -14
  103. package/tests/utilities.js +0 -28
  104. package/tests/websocket.vhtml +0 -86
  105. /package/global/{Source/Logo_960.png → source/logo_960.png} +0 -0
  106. /package/global/{Source/Logo_SM_960.png → source/logo_SM_960.png} +0 -0
@@ -1,6 +1,8 @@
1
- import { Schema, Flatten } from "../../utilities/Utilities.js";
1
+ import Utilities, { Flatten } from "../../utilities/Utilities.js";
2
2
  import _Loader from "./Loader.js";
3
- export declare const SCHEMA_LOGGER_PROP: Schema<{
3
+ export declare const DEFAULT_FOLDER_TEMPLATE: string;
4
+ export declare const DEFAULT_ERROR_TEMPLATE: string;
5
+ export declare const SCHEMA_LOGGER_PROP: Utilities.Schema<{
4
6
  readonly show: {
5
7
  readonly type: "boolean";
6
8
  readonly default: true;
@@ -10,7 +12,7 @@ export declare const SCHEMA_LOGGER_PROP: Schema<{
10
12
  readonly default: true;
11
13
  };
12
14
  }>;
13
- export declare const SCHEMA_LOGGER: Schema<{
15
+ export declare const SCHEMA_LOGGER: Utilities.Schema<{
14
16
  readonly showAll: {
15
17
  readonly type: "boolean";
16
18
  readonly default: false;
@@ -72,7 +74,7 @@ export declare const SCHEMA_LOGGER: Schema<{
72
74
  };
73
75
  };
74
76
  }>;
75
- export declare const SCHEMA_SSL: Schema<{
77
+ export declare const SCHEMA_SSL: Utilities.Schema<{
76
78
  readonly cert: {
77
79
  readonly type: "string";
78
80
  readonly required: true;
@@ -88,24 +90,24 @@ export declare const SCHEMA_SSL: Schema<{
88
90
  readonly maximum: 65535;
89
91
  };
90
92
  }>;
91
- export declare const SCHEMA_TEMPLATES: Schema<{
93
+ export declare const SCHEMA_TEMPLATES: Utilities.Schema<{
92
94
  readonly folder: {
93
95
  readonly type: "string";
94
- readonly default: "./global/Template/Folder.vhtml";
96
+ readonly default: string;
95
97
  };
96
98
  readonly error: {
97
99
  readonly type: "string";
98
- readonly default: "./global/Template/Error.vhtml";
100
+ readonly default: string;
99
101
  };
100
102
  }>;
101
- export declare const SCHEMA_ROUTING: Schema<{
103
+ export declare const SCHEMA_ROUTING: Utilities.Schema<{
102
104
  readonly algorithm: {
103
105
  readonly type: "string";
104
106
  readonly enum: readonly ["FIFO", "Tree"];
105
107
  readonly default: "FIFO";
106
108
  };
107
109
  }>;
108
- export declare const SCHEMA_HANDLER: Schema<{
110
+ export declare const SCHEMA_HANDLER: Utilities.Schema<{
109
111
  readonly host: {
110
112
  readonly type: "string";
111
113
  readonly default: "localhost";
@@ -153,17 +155,17 @@ export declare const SCHEMA_HANDLER: Schema<{
153
155
  readonly templates: {
154
156
  readonly type: "object";
155
157
  readonly default: {
156
- readonly folder: "./global/Template/Folder.vhtml";
157
- readonly error: "./global/Template/Error.vhtml";
158
+ readonly folder: string;
159
+ readonly error: string;
158
160
  };
159
161
  readonly schema: {
160
162
  readonly folder: {
161
163
  readonly type: "string";
162
- readonly default: "./global/Template/Folder.vhtml";
164
+ readonly default: string;
163
165
  };
164
166
  readonly error: {
165
167
  readonly type: "string";
166
- readonly default: "./global/Template/Error.vhtml";
168
+ readonly default: string;
167
169
  };
168
170
  };
169
171
  };
@@ -1,5 +1,7 @@
1
- import { Schema, Flatten } from "../../utilities/Utilities.js";
1
+ import Utilities, { Schema, Flatten } from "../../utilities/Utilities.js";
2
2
  import _Loader from "./Loader.js";
3
+ export const DEFAULT_FOLDER_TEMPLATE = Utilities.Path.module('global/template/folder.vhtml');
4
+ export const DEFAULT_ERROR_TEMPLATE = Utilities.Path.module('global/template/error.vhtml');
3
5
  export const SCHEMA_LOGGER_PROP = new Schema({
4
6
  show: { type: 'boolean', default: true },
5
7
  save: { type: 'boolean', default: true }
@@ -17,8 +19,8 @@ export const SCHEMA_SSL = new Schema({
17
19
  port: { type: 'number', default: 443, minimum: 0, maximum: 65535 }
18
20
  });
19
21
  export const SCHEMA_TEMPLATES = new Schema({
20
- folder: { type: 'string', default: './global/Template/Folder.vhtml' },
21
- error: { type: 'string', default: './global/Template/Error.vhtml' }
22
+ folder: { type: 'string', default: DEFAULT_FOLDER_TEMPLATE },
23
+ error: { type: 'string', default: DEFAULT_ERROR_TEMPLATE }
22
24
  });
23
25
  export const SCHEMA_ROUTING = new Schema({
24
26
  algorithm: { type: 'string', enum: ['FIFO', 'Tree'], default: 'FIFO' }
@@ -31,8 +33,8 @@ export const SCHEMA_HANDLER = new Schema({
31
33
  algorithm: 'FIFO'
32
34
  }, schema: SCHEMA_ROUTING.schema },
33
35
  templates: { type: 'object', default: {
34
- folder: './global/Template/Folder.vhtml',
35
- error: './global/Template/Error.vhtml'
36
+ folder: DEFAULT_FOLDER_TEMPLATE,
37
+ error: DEFAULT_ERROR_TEMPLATE
36
38
  }, schema: SCHEMA_TEMPLATES.schema
37
39
  },
38
40
  logger: { type: 'object', default: {
@@ -60,7 +62,7 @@ export class Config {
60
62
  }
61
63
  set(path, value) {
62
64
  this.props[path] = value;
63
- this.props[path] = value;
65
+ this.data = Flatten.unObject(this.props);
64
66
  }
65
67
  /**
66
68
  * Saves the config to the specified path.
@@ -1 +1 @@
1
- {"version":3,"file":"Config.js","sourceRoot":"","sources":["../../../src/server/config/Config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Config.js","sourceRoot":"","sources":["../../../src/server/config/Config.ts"],"names":[],"mappings":"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"}
@@ -16,7 +16,7 @@ export class Loader {
16
16
  */
17
17
  static async load(path) {
18
18
  logger.log(`loading config from &C6[${path}]`);
19
- if (!await Utilities.fileExists(path)) {
19
+ if (!await Utilities.File.exists(path)) {
20
20
  const config = new Config({});
21
21
  logger.log(`config file &C6[${path}]&R does not exist, creating it`);
22
22
  await Loader.save(path, config);
@@ -1 +1 @@
1
- {"version":3,"file":"Loader.js","sourceRoot":"","sources":["../../../src/server/config/Loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,IAAI,GAAG,EAAE,MAAM,IAAI,CAAC;AACrC,OAAO,MAAM,MAAM,wBAAwB,CAAC;AAC5C,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,SAAS,MAAM,8BAA8B,CAAC;AAErD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;AAEhD,MAAM,OAAO,MAAM;IACf;;;;OAIG;IACI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAY;QACjC,MAAM,CAAC,GAAG,CAAC,2BAA2B,IAAI,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YACpC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;YAC9B,MAAM,CAAC,GAAG,CAAC,mBAAmB,IAAI,iCAAiC,CAAC,CAAC;YACrE,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAChC,MAAM,CAAC,GAAG,CAAC,mBAAmB,IAAI,iCAAiC,CAAC,CAAC;YACrE,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACjC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,mBAAmB,IAAI,4BAA4B,CAAC,CAAC;YAClE,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IACD;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,MAAc;QACjD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;CACJ;AAED,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"Loader.js","sourceRoot":"","sources":["../../../src/server/config/Loader.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,IAAI,GAAG,EAAE,MAAM,IAAI,CAAC;AACrC,OAAO,MAAM,MAAM,wBAAwB,CAAC;AAC5C,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,SAAS,MAAM,8BAA8B,CAAC;AAErD,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,CAAC;AAEhD,MAAM,OAAO,MAAM;IACf;;;;OAIG;IACI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAY;QACjC,MAAM,CAAC,GAAG,CAAC,2BAA2B,IAAI,GAAG,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;YACrC,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,EAAE,CAAC,CAAC;YAC9B,MAAM,CAAC,GAAG,CAAC,mBAAmB,IAAI,iCAAiC,CAAC,CAAC;YACrE,MAAM,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YAChC,MAAM,CAAC,GAAG,CAAC,mBAAmB,IAAI,iCAAiC,CAAC,CAAC;YACrE,OAAO,MAAM,CAAC;QAClB,CAAC;QACD,IAAI,CAAC;YACD,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;YACjD,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;YACjC,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC;QAC5B,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,CAAC,KAAK,CAAC,mBAAmB,IAAI,4BAA4B,CAAC,CAAC;YAClE,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IACD;;;;;OAKG;IACI,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,MAAc;QACjD,MAAM,GAAG,GAAG,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACzC,MAAM,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,CAAC;QAChC,MAAM,GAAG,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IAC/C,CAAC;CACJ;AAED,eAAe,MAAM,CAAC"}
@@ -58,7 +58,7 @@ export declare class Router {
58
58
  * @remarks This method attempts to route the incoming HTTP request using the routing algorithm.
59
59
  * If a matching route is found, it processes the request and returns true; otherwise, it returns false, indicating that no suitable route was found for the request.
60
60
  */
61
- requestManager(HttpRequest: HTTP.IncomingMessage, HttpResponse: HTTP.ServerResponse): void;
61
+ requestManager(HttpRequest: HTTP.IncomingMessage, HttpResponse: HTTP.ServerResponse): Promise<void>;
62
62
  /**
63
63
  * Triggered when the server receives a WebSocket upgrade request.
64
64
  * @param request - The received WebSocket upgrade request.
@@ -84,14 +84,14 @@ export class Router {
84
84
  * @remarks This method attempts to route the incoming HTTP request using the routing algorithm.
85
85
  * If a matching route is found, it processes the request and returns true; otherwise, it returns false, indicating that no suitable route was found for the request.
86
86
  */
87
- requestManager(HttpRequest, HttpResponse) {
87
+ async requestManager(HttpRequest, HttpResponse) {
88
88
  const request = new Request(HttpRequest);
89
89
  const response = new Response(request, HttpResponse, this.config.data.templates);
90
90
  const sessionID = request.cookies.get('Session');
91
91
  logger.request.log(request.ip, request.method, request.url, sessionID);
92
92
  const isRouted = this.routeRequest(request, response);
93
- if (!isRouted)
94
- response.sendError(400, `No router for: ${request.method} -> ${request.url}`);
93
+ if (!isRouted && !response.isSent)
94
+ await response.sendError(404, `No route for: ${request.method} -> ${request.url}`);
95
95
  }
96
96
  /**
97
97
  * Triggered when the server receives a WebSocket upgrade request.
@@ -108,7 +108,7 @@ export class Router {
108
108
  logger.webSocket.log(request.ip, request.method, request.url, sessionID);
109
109
  const isRouted = this.routeWebSocket(request, webSocket);
110
110
  if (!isRouted)
111
- webSocket.reject(400, `No router for: ${request.method} -> ${request.url}`);
111
+ webSocket.reject(404, `No route for: ${request.method} -> ${request.url}`);
112
112
  }
113
113
  /**
114
114
  * Routes incoming HTTP requests to be processed.
@@ -1 +1 @@
1
- {"version":3,"file":"Router.js","sourceRoot":"","sources":["../../../src/server/router/Router.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Router.js","sourceRoot":"","sources":["../../../src/server/router/Router.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import LoggerManager from '../../LoggerManager.js';
8
8
  import Middleware from './Middleware.js';
9
9
  const logger = LoggerManager.getInstance();
10
10
  export class HttpMiddleware extends Middleware {
11
- clone() { return new HttpMiddleware(this.pipeline, this.errorPipeline); }
11
+ clone() { return new HttpMiddleware([...this.pipeline], [...this.errorPipeline]); }
12
12
  /**
13
13
  * Runs the middleware pipeline.
14
14
  * @param request - The request received by the server.
@@ -22,7 +22,7 @@ export class HttpMiddleware extends Middleware {
22
22
  const next = async (error) => {
23
23
  if (error)
24
24
  throw error;
25
- if (response.isSended)
25
+ if (response.isSent)
26
26
  return void logger.warn('response was already sent when calling next()');
27
27
  if (index >= this.pipeline.length)
28
28
  return await action(request, response, state);
@@ -68,19 +68,19 @@ export class HttpMiddleware extends Middleware {
68
68
  */
69
69
  async errorHandler(error, request, response) {
70
70
  if (error instanceof ServerError) {
71
- if (response.isSended)
71
+ if (response.isSent)
72
72
  return void logger.warn('throw ApiError used when response was already sent');
73
73
  return response.sendError(error.status, error.message);
74
74
  }
75
75
  else if (error instanceof Error) {
76
76
  logger.error(error);
77
- if (response.isSended)
77
+ if (response.isSent)
78
78
  return;
79
79
  return response.sendError(500, error.message);
80
80
  }
81
81
  else {
82
82
  logger.error(error);
83
- if (response.isSended)
83
+ if (response.isSent)
84
84
  return;
85
85
  return response.sendError(500, 'Internal Server Error');
86
86
  }
@@ -1 +1 @@
1
- {"version":3,"file":"HttpMiddleware.js","sourceRoot":"","sources":["../../../../src/server/router/middleware/HttpMiddleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HttpMiddleware.js","sourceRoot":"","sources":["../../../../src/server/router/middleware/HttpMiddleware.ts"],"names":[],"mappings":"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"}
@@ -8,7 +8,7 @@ import LoggerManager from '../../LoggerManager.js';
8
8
  import Middleware from './Middleware.js';
9
9
  const logger = LoggerManager.getInstance();
10
10
  export class WsMiddleware extends Middleware {
11
- clone() { return new WsMiddleware(this.pipeline, this.errorPipeline); }
11
+ clone() { return new WsMiddleware([...this.pipeline], [...this.errorPipeline]); }
12
12
  /**
13
13
  * Runs the middleware pipeline.
14
14
  * @param request The request received by the server.
@@ -1 +1 @@
1
- {"version":3,"file":"WsMiddleware.js","sourceRoot":"","sources":["../../../../src/server/router/middleware/WsMiddleware.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WsMiddleware.js","sourceRoot":"","sources":["../../../../src/server/router/middleware/WsMiddleware.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ export declare class PathSecurity {
2
+ private static readonly maxRealPathCacheSize;
3
+ private static readonly realPathCache;
4
+ /**
5
+ * Resolves a path relative to a base path while preventing traversal outside the base.
6
+ * @param base - The base path.
7
+ * @param plus - The user-controlled relative path.
8
+ * @returns A safe absolute path or null if the path escapes the base.
9
+ */
10
+ static resolveInsideBase(base: string, plus: string): Promise<string | null>;
11
+ /**
12
+ * Checks if the given path contains directory traversal that would escape the base directory, by analyzing the path segments for '..' components that would underflow the directory structure.
13
+ * @param path - The path to check for traversal underflow.
14
+ * @returns True if the path contains traversal that escapes the base, false otherwise.
15
+ */
16
+ private static hasTraversalUnderflow;
17
+ /**
18
+ * Checks if a candidate path is located within a base path, preventing directory traversal attacks.
19
+ * @param basePath - The base path to check against.
20
+ * @param candidatePath - The candidate path to verify.
21
+ * @returns True if the candidate path is inside the base path, false otherwise.
22
+ */
23
+ private static isPathInside;
24
+ /**
25
+ * Generates a candidate path by joining a base path with a user-controlled relative path, ensuring that the relative path does not start with slashes to prevent bypassing the base directory.
26
+ * @param base - The base path.
27
+ * @param plus - The user-controlled relative path.
28
+ * @returns The generated candidate path.
29
+ * @remarks This method does not perform any security checks and should be used in conjunction with `resolveInsideBase` to ensure safety.
30
+ */
31
+ private static getCandidate;
32
+ /**
33
+ * Retrieves a safe real path for the given base path, using caching to optimize performance while preventing cache overflow.
34
+ * @param basePath - The base path for which to retrieve the real path.
35
+ * @returns The real path corresponding to the base path, or the original base path if resolution fails.
36
+ */
37
+ private static getSafeBase;
38
+ /**
39
+ * Attempts to resolve the real path of a given path, returning null if it fails (e.g., if the path does not exist).
40
+ * @param path - The path to resolve.
41
+ * @returns The real path as a string, or null if resolution fails.
42
+ */
43
+ private static tryReal;
44
+ }
45
+ export default PathSecurity;
@@ -0,0 +1,108 @@
1
+ /**
2
+ * @author NetFeez <netfeez.dev@gmail.com>
3
+ * @description Provides security utilities for handling file paths in `Vortez`.
4
+ * @license Apache-2.0
5
+ */
6
+ import FS from 'fs';
7
+ import PATH from 'path';
8
+ import Utilities from '../../utilities/Utilities.js';
9
+ export class PathSecurity {
10
+ static maxRealPathCacheSize = 128;
11
+ static realPathCache = new Map();
12
+ /**
13
+ * Resolves a path relative to a base path while preventing traversal outside the base.
14
+ * @param base - The base path.
15
+ * @param plus - The user-controlled relative path.
16
+ * @returns A safe absolute path or null if the path escapes the base.
17
+ */
18
+ static async resolveInsideBase(base, plus) {
19
+ base = Utilities.Path.resolve(base);
20
+ plus = Utilities.Path.normalize(plus);
21
+ if (this.hasTraversalUnderflow(plus))
22
+ return null;
23
+ const candidate = this.getCandidate(base, plus);
24
+ if (!this.isPathInside(base, candidate))
25
+ return null;
26
+ const [safeBase, safeCandidate] = await Promise.all([
27
+ this.getSafeBase(base),
28
+ this.tryReal(candidate).then(path => path ?? candidate),
29
+ ]);
30
+ return this.isPathInside(safeBase, safeCandidate) ? safeCandidate : null;
31
+ }
32
+ /**
33
+ * Checks if the given path contains directory traversal that would escape the base directory, by analyzing the path segments for '..' components that would underflow the directory structure.
34
+ * @param path - The path to check for traversal underflow.
35
+ * @returns True if the path contains traversal that escapes the base, false otherwise.
36
+ */
37
+ static hasTraversalUnderflow(path) {
38
+ const parts = path.split(/[\\/]+/);
39
+ let depth = 0;
40
+ for (const part of parts) {
41
+ if (!part || part === '.')
42
+ continue;
43
+ if (part === '..') {
44
+ if (depth === 0)
45
+ return true;
46
+ depth -= 1;
47
+ continue;
48
+ }
49
+ depth += 1;
50
+ }
51
+ return false;
52
+ }
53
+ /**
54
+ * Checks if a candidate path is located within a base path, preventing directory traversal attacks.
55
+ * @param basePath - The base path to check against.
56
+ * @param candidatePath - The candidate path to verify.
57
+ * @returns True if the candidate path is inside the base path, false otherwise.
58
+ */
59
+ static isPathInside(basePath, candidatePath) {
60
+ const relativePath = PATH.relative(basePath, candidatePath);
61
+ return relativePath === '' || (!relativePath.startsWith('..') && !PATH.isAbsolute(relativePath));
62
+ }
63
+ /**
64
+ * Generates a candidate path by joining a base path with a user-controlled relative path, ensuring that the relative path does not start with slashes to prevent bypassing the base directory.
65
+ * @param base - The base path.
66
+ * @param plus - The user-controlled relative path.
67
+ * @returns The generated candidate path.
68
+ * @remarks This method does not perform any security checks and should be used in conjunction with `resolveInsideBase` to ensure safety.
69
+ */
70
+ static getCandidate(base, plus) {
71
+ plus = plus.replace(/^[\\/]+/, '');
72
+ const candidate = Utilities.Path.join(base, plus);
73
+ return Utilities.Path.resolve(candidate);
74
+ }
75
+ /**
76
+ * Retrieves a safe real path for the given base path, using caching to optimize performance while preventing cache overflow.
77
+ * @param basePath - The base path for which to retrieve the real path.
78
+ * @returns The real path corresponding to the base path, or the original base path if resolution fails.
79
+ */
80
+ static async getSafeBase(basePath) {
81
+ const cached = this.realPathCache.get(basePath);
82
+ if (cached)
83
+ return cached;
84
+ const resolved = await this.tryReal(basePath) ?? basePath;
85
+ if (this.realPathCache.size >= this.maxRealPathCacheSize) {
86
+ const firstKey = this.realPathCache.keys().next().value;
87
+ if (typeof firstKey === 'string')
88
+ this.realPathCache.delete(firstKey);
89
+ }
90
+ this.realPathCache.set(basePath, resolved);
91
+ return resolved;
92
+ }
93
+ /**
94
+ * Attempts to resolve the real path of a given path, returning null if it fails (e.g., if the path does not exist).
95
+ * @param path - The path to resolve.
96
+ * @returns The real path as a string, or null if resolution fails.
97
+ */
98
+ static async tryReal(path) {
99
+ try {
100
+ return await FS.promises.realpath(path);
101
+ }
102
+ catch {
103
+ return null;
104
+ }
105
+ }
106
+ }
107
+ export default PathSecurity;
108
+ //# sourceMappingURL=PathSecurity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PathSecurity.js","sourceRoot":"","sources":["../../../src/server/security/PathSecurity.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,7 @@ import EVENTS from 'events';
7
7
  import CRYPTO from 'crypto';
8
8
  import Chunk from './Chunk.js';
9
9
  import LoggerManager from '../LoggerManager.js';
10
+ import ServerError from '../ServerError.js';
10
11
  const logger = LoggerManager.getInstance().webSocket;
11
12
  export { Chunk } from './Chunk.js';
12
13
  export class Websocket extends EVENTS {
@@ -31,8 +32,10 @@ export class Websocket extends EVENTS {
31
32
  * Accepts the connection with the client.
32
33
  */
33
34
  accept() {
34
- this._status = 'accepted';
35
35
  const key = this.request.headers['sec-websocket-key']?.trim();
36
+ if (!key)
37
+ throw new ServerError('Missing Sec-WebSocket-Key header', 400);
38
+ this._status = 'accepted';
36
39
  const acceptToken = CRYPTO.createHash('SHA1').update(key + Websocket.WEBSOCKET_GUID).digest('base64');
37
40
  const headers = this.buildHeaders([
38
41
  'HTTP/1.1 101 Switching Protocols',
@@ -1 +1 @@
1
- {"version":3,"file":"Websocket.js","sourceRoot":"","sources":["../../../src/server/websocket/Websocket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Websocket.js","sourceRoot":"","sources":["../../../src/server/websocket/Websocket.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * @author NetFeez <netfeez.dev@gmail.com>
3
- * @description Provides utilities for console interaction, including text formatting and coloring.
3
+ * @description Provides a console-based user interface for formatting text with colors and styles, as well as sending messages to the console.
4
+ * This is useful for enhancing the readability of console output and providing a more engaging user experience when interacting with the command line.
4
5
  * @license Apache-2.0
5
6
  */
6
7
  export declare class ConsoleUI {
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * @author NetFeez <netfeez.dev@gmail.com>
3
- * @description Provides utilities for console interaction, including text formatting and coloring.
3
+ * @description Provides a console-based user interface for formatting text with colors and styles, as well as sending messages to the console.
4
+ * This is useful for enhancing the readability of console output and providing a more engaging user experience when interacting with the command line.
4
5
  * @license Apache-2.0
5
6
  */
6
7
  export class ConsoleUI {
@@ -1 +1 @@
1
- {"version":3,"file":"ConsoleUI.js","sourceRoot":"","sources":["../../src/utilities/ConsoleUI.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ConsoleUI.js","sourceRoot":"","sources":["../../src/utilities/ConsoleUI.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @author NetFeez <netfeez.dev@gmail.com>
3
- * @description Utility to help with debugging tasks and server development.
3
+ * @description Provides a console-based debugging interface for the Vortez project, allowing developers to execute commands and receive feedback in real-time. This is useful for testing and debugging purposes, providing a simple way to interact with the application through a command-line interface.
4
4
  * @license Apache-2.0
5
5
  */
6
6
  import Logger from '../logger/Logger.js';
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @author NetFeez <netfeez.dev@gmail.com>
3
- * @description Utility to help with debugging tasks and server development.
3
+ * @description Provides a console-based debugging interface for the Vortez project, allowing developers to execute commands and receive feedback in real-time. This is useful for testing and debugging purposes, providing a simple way to interact with the application through a command-line interface.
4
4
  * @license Apache-2.0
5
5
  */
6
6
  import ConsoleUI from './ConsoleUI.js';
@@ -0,0 +1,22 @@
1
+ /**
2
+ * @author NetFeez <netfeez.dev@gmail.com>
3
+ * @description Provides utilities for encoding and decoding data, such as base64url encoding.
4
+ * This is useful for handling data transformations that are commonly needed in web applications, such as encoding data for transmission or storage.
5
+ * @license Apache-2.0
6
+ */
7
+ export declare class Encoding {
8
+ /**
9
+ * Encodes a string to base64url format.
10
+ * @param data - The string to encode.
11
+ * @returns The base64url-encoded string.
12
+ */
13
+ static base64UrlEncode(data: string): string;
14
+ /**
15
+ * Decodes a base64url-encoded string.
16
+ * @param data - The base64url-encoded string to decode.
17
+ * @returns The decoded UTF-8 string.
18
+ */
19
+ static base64UrlDecode(data: string): string;
20
+ }
21
+ export declare namespace Encoding { }
22
+ export default Encoding;