vortez 5.0.0-dev.19 → 5.0.0

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 +26 -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 +3 -0
  19. package/build/beta/JwtManager/JwtManager.js +24 -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 +24 -9
  28. package/build/server/Response.js +160 -74
  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 +3 -3
  39. package/build/server/router/Router.js.map +1 -1
  40. package/build/server/router/middleware/HttpMiddleware.js +1 -1
  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 +4 -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
@@ -5,11 +5,33 @@
5
5
  */
6
6
  import FS from 'fs';
7
7
  import PATH from 'path';
8
+ import { Readable } from 'stream';
9
+ import { pipeline } from 'stream/promises';
8
10
  import Logger from '../logger/Logger.js';
9
11
  import Utilities from '../utilities/Utilities.js';
10
- import Template from '../Template.js';
12
+ import Template from '../Template/Template.js';
13
+ import PathSecurity from './security/PathSecurity.js';
11
14
  const logger = new Logger({ prefix: 'Response' });
12
15
  export class Response {
16
+ static contentTypeMap = {
17
+ 'html': 'text/html',
18
+ 'js': 'text/javascript',
19
+ 'css': 'text/css',
20
+ 'json': 'application/json',
21
+ 'xml': 'application/xml',
22
+ 'txt': 'text/plain',
23
+ 'svg': 'image/svg+xml',
24
+ 'png': 'image/png',
25
+ 'jpg': 'image/jpeg',
26
+ 'jpeg': 'image/jpeg',
27
+ 'mp3': 'audio/mpeg',
28
+ 'wav': 'audio/x-wav',
29
+ 'mp4': 'video/mp4',
30
+ };
31
+ static acceptRangeFormats = [
32
+ 'svg', 'png', 'jpg', 'jpeg', 'mp3', 'wav', 'mp4'
33
+ ];
34
+ static version = Response.loadVersion();
13
35
  /** Contains the request received by the server. */
14
36
  request;
15
37
  /** Contains the list of server response templates. */
@@ -28,7 +50,7 @@ export class Response {
28
50
  this.templates = templates;
29
51
  this.httpResponse = httpResponse;
30
52
  this.httpResponse.setHeader('X-Powered-By', 'MyNetFeez-Labs Vortez');
31
- this.httpResponse.setHeader('X-Version', '3.7.0-dev.18');
53
+ this.httpResponse.setHeader('X-Version', Response.version);
32
54
  }
33
55
  /** Checks if the response has been sent. */
34
56
  get isSended() { return this._isSended || this.httpResponse.writableEnded || this.httpResponse.headersSent; }
@@ -41,28 +63,10 @@ export class Response {
41
63
  extension = extension.startsWith('.') ? extension.slice(1) : extension;
42
64
  extension = extension.toLowerCase();
43
65
  const headers = {};
44
- const contentTypeMap = {
45
- 'html': 'text/html',
46
- 'js': 'text/javascript',
47
- 'css': 'text/css',
48
- 'json': 'application/json',
49
- 'xml': 'application/xml',
50
- 'txt': 'text/plain',
51
- 'svg': 'image/svg+xml',
52
- 'png': 'image/png',
53
- 'jpg': 'image/jpeg',
54
- 'jpeg': 'image/jpeg',
55
- 'mp3': 'audio/mpeg',
56
- 'wav': 'audio/x-wav',
57
- 'mp4': 'video/mp4',
58
- };
59
- const acceptRangeFormats = [
60
- 'svg', 'png', 'jpg', 'jpeg', 'mp3', 'wav', 'mp4'
61
- ];
62
- const type = contentTypeMap[extension];
66
+ const type = Response.contentTypeMap[extension];
63
67
  if (type)
64
- headers['Content-Type'] = type;
65
- if (acceptRangeFormats.includes(extension)) {
68
+ headers['Content-Type'] = type ?? 'application/octet-stream';
69
+ if (Response.acceptRangeFormats.includes(extension)) {
66
70
  headers['Accept-Ranges'] = 'bytes';
67
71
  }
68
72
  return headers;
@@ -83,16 +87,32 @@ export class Response {
83
87
  * @param data - The data to be sent.
84
88
  * @param encode - The encoding used for the response.
85
89
  */
86
- send(data, options = {}) {
90
+ async send(data, options = {}) {
91
+ if (data instanceof Readable)
92
+ return await this.sendReadable(data, options);
87
93
  this._isSended = true;
88
94
  const status = options.status ?? 200;
89
95
  const encode = options.encode || 'utf-8';
90
96
  const headers = options.headers || this.generateHeaders('txt');
91
97
  this.sendHeaders(status, headers);
92
- if (data instanceof FS.ReadStream)
93
- return void data.pipe(this.httpResponse);
94
98
  this.httpResponse.end(data, encode);
95
99
  }
100
+ /**
101
+ * Sends a readable stream as a response.
102
+ * @param data - The readable stream to be sent.
103
+ * @param options - The response options.
104
+ * @throws If an error occurs while sending the stream.
105
+ * @returns A promise that resolves when the stream has been sent.
106
+ * @remarks This method is used for sending large data, such as files or templates, without loading them entirely into memory.
107
+ * It handles backpressure and ensures efficient streaming of data to the client.
108
+ */
109
+ async sendReadable(data, options) {
110
+ this._isSended = true;
111
+ const status = options.status ?? 200;
112
+ const headers = options.headers || this.generateHeaders('txt');
113
+ await this.sendHeaders(status, headers);
114
+ await pipeline(data, this.httpResponse);
115
+ }
96
116
  /**
97
117
  * Sends a file as a response.
98
118
  * @param path - The file path to send.
@@ -104,76 +124,118 @@ export class Response {
104
124
  try {
105
125
  const details = await FS.promises.stat(path);
106
126
  if (!details.isFile())
107
- return this.sendError(500, '[Response Error] - Provided path is not a file.');
127
+ return await this.sendError(500, '[Response Error] - Provided path is not a file.');
108
128
  if (!this.request.headers.range) {
109
129
  const stream = FS.createReadStream(path);
110
130
  const headers = this.generateHeaders(PATH.extname(path));
111
131
  headers['content-length'] = details.size.toString();
112
- this.send(stream, { status: 200, headers });
132
+ await this.send(stream, { status: 200, headers });
113
133
  }
114
134
  else {
115
- const info = /bytes=(\d*)?-?(\d*)?/i.exec(this.request.headers.range);
135
+ const rangeHeader = this.request.headers.range;
136
+ const info = /^bytes=(\d*)-(\d*)$/i.exec(rangeHeader);
116
137
  if (!info)
117
- return this.sendError(416, 'Requested range exceeds file size');
118
- const [startString, endString] = info.slice(1);
119
- if (!startString)
120
- return this.sendError(416, 'Requested range exceeds file size');
121
- const start = Number(startString);
122
- const maxSize = start + 1024 * 1000;
123
- const end = endString
124
- ? Number(endString)
125
- : maxSize >= details.size
126
- ? details.size - 1
127
- : maxSize;
128
- if (start > details.size || end > details.size)
129
- return this.sendError(416, 'Requested range exceeds file size');
138
+ return await this.sendError(416, 'Requested range exceeds file size');
139
+ const [, startString, endString] = info;
140
+ let start;
141
+ let end;
142
+ if (startString && endString) {
143
+ start = Number(startString);
144
+ end = Number(endString);
145
+ }
146
+ else if (startString) {
147
+ start = Number(startString);
148
+ const maxSize = start + 1024 * 1000;
149
+ end = maxSize >= details.size ? details.size - 1 : maxSize;
150
+ }
151
+ else if (endString) {
152
+ const suffixSize = Number(endString);
153
+ if (!Number.isInteger(suffixSize) || suffixSize <= 0) {
154
+ return await this.sendError(416, 'Requested range exceeds file size');
155
+ }
156
+ start = Math.max(details.size - suffixSize, 0);
157
+ end = details.size - 1;
158
+ }
159
+ else
160
+ return await this.sendError(416, 'Requested range exceeds file size');
161
+ if (!Number.isInteger(start) ||
162
+ !Number.isInteger(end) ||
163
+ start < 0 ||
164
+ end < start ||
165
+ start >= details.size ||
166
+ end >= details.size)
167
+ return await this.sendError(416, 'Requested range exceeds file size');
130
168
  const size = end - start + 1;
131
169
  const stream = FS.createReadStream(path, { start, end });
132
170
  const headers = this.generateHeaders(PATH.extname(path));
133
171
  headers['content-length'] = size.toString();
134
172
  headers['content-range'] = `bytes ${start}-${end}/${details.size}`;
135
- this.send(stream, { status: 206, headers });
173
+ await this.send(stream, { status: 206, headers });
136
174
  }
137
175
  }
138
176
  catch (error) {
139
- this.sendError(500, error instanceof Error ? error.message : '[Response Error] - File does not exist.');
177
+ const status = this.getFsErrorStatus(error);
178
+ const message = status === 404
179
+ ? 'The requested URL was not found'
180
+ : status === 403
181
+ ? 'Access denied to requested resource'
182
+ : error instanceof Error
183
+ ? error.message
184
+ : '[Response Error] - File does not exist.';
185
+ await this.sendError(status, message);
140
186
  logger.error(`error sending file ${this.request.session.id}`, error);
141
187
  }
142
188
  }
143
189
  /**
144
190
  * Sends the listing of a folder as a response.
145
- * @param basePath - The routing rule base path.
146
- * @param relativePath - The relative path received in the request.
191
+ * @param base - The routing rule base path.
192
+ * @param plus - The relative path received in the request.
147
193
  * @throws If the folder does not exist or is invalid.
148
194
  */
149
- async sendFolder(basePath, relativePath) {
150
- basePath = basePath.endsWith('/') ? basePath : basePath + '/';
151
- relativePath = relativePath.endsWith('/') ? relativePath.slice(0, -1) : relativePath;
152
- const path = Utilities.Path.normalize(basePath + relativePath);
195
+ async sendFolder(base, plus = '') {
196
+ const basePath = Utilities.Path.resolve(base || Utilities.Path.rootDir);
197
+ const path = await PathSecurity.resolveInsideBase(basePath, plus);
198
+ if (!path) {
199
+ logger.warn(`&C2[Vortez Security] &C3Intento de Path Traversal bloqueado:`);
200
+ logger.warn(` &C3- IP: &C6${this.request.ip}`);
201
+ logger.warn(` &C3- Session ID: &C6${this.request.session.id}`);
202
+ logger.warn(` &C3- URL: &C6${this.request.url}`);
203
+ logger.warn(` &C3- Base: &C6${basePath}`);
204
+ logger.warn(` &C3- Intento: &C6${plus}`);
205
+ return void await this.sendError(403, 'Forbidden: Outside of sandbox');
206
+ }
153
207
  try {
154
- if (!await this.fileExist(path))
155
- return void this.sendError(404, 'The requested URL was not fount');
208
+ if (!await Utilities.File.exists(path))
209
+ return void await this.sendError(404, 'The requested URL was not found');
156
210
  const details = await FS.promises.stat(path);
157
211
  if (details.isFile())
158
- return this.sendFile(path);
212
+ return await this.sendFile(path);
159
213
  if (!details.isDirectory())
160
- return this.sendError(404, 'The requested URL was not fount');
214
+ return await this.sendError(404, 'The requested URL was not found');
161
215
  const folder = await FS.promises.readdir(path);
162
216
  if (this.templates.folder) {
163
- this.sendTemplate(this.templates.folder, {
217
+ await this.sendTemplate(this.templates.folder, {
164
218
  Url: this.request.url,
165
219
  folder
166
220
  });
167
221
  }
168
222
  else {
169
- this.sendTemplate(Utilities.Path.relative('./global/Template/Folder.vhtml'), {
223
+ await this.sendTemplate(Utilities.Path.module('global/template/folder.vhtml'), {
170
224
  Url: this.request.url,
171
225
  folder
172
226
  });
173
227
  }
174
228
  }
175
229
  catch (error) {
176
- this.sendError(500, error instanceof Error ? error.message : '[Response Error] - File/Directory does not exist.');
230
+ const status = this.getFsErrorStatus(error);
231
+ const message = status === 404
232
+ ? 'The requested URL was not found'
233
+ : status === 403
234
+ ? 'Access denied to requested resource'
235
+ : error instanceof Error
236
+ ? error.message
237
+ : '[Response Error] - File/Directory does not exist.';
238
+ await this.sendError(status, message);
177
239
  logger.error(`error sending folder ${this.request.session.id}`, error);
178
240
  }
179
241
  }
@@ -187,13 +249,23 @@ export class Response {
187
249
  async sendTemplate(path, data, options = {}) {
188
250
  path = Utilities.Path.normalize(path);
189
251
  try {
190
- const template = await Template.load(path, data);
252
+ const template = await Template.stream(path, data);
191
253
  const status = options.status ?? 200;
192
254
  const headers = options.headers || this.generateHeaders('html');
193
- this.send(template, { status, headers });
255
+ await this.send(template, { status, headers, encode: options.encode });
194
256
  }
195
257
  catch (error) {
196
- this.sendError(500, error instanceof Error ? error.message : '[Response Error] - Template does not exist.');
258
+ const status = this.getFsErrorStatus(error);
259
+ const message = status === 404
260
+ ? 'Template not found'
261
+ : status === 403
262
+ ? 'Access denied to template resource'
263
+ : error instanceof Error
264
+ ? error.message
265
+ : '[Response Error] - Template does not exist.';
266
+ if (!this.httpResponse.headersSent && !this.httpResponse.writableEnded) {
267
+ await this.sendError(status, message);
268
+ }
197
269
  logger.error(`error sending template ${this.request.session.id}`, error);
198
270
  }
199
271
  }
@@ -202,15 +274,15 @@ export class Response {
202
274
  * @param data - The data to send.
203
275
  * @param options - The response options.
204
276
  */
205
- sendJson(data, options = {}) {
277
+ async sendJson(data, options = {}) {
206
278
  try {
207
279
  const json = JSON.stringify(data);
208
280
  const status = options.status ?? 200;
209
281
  const headers = options.headers || this.generateHeaders('json');
210
- this.send(json, { status, headers });
282
+ await this.send(json, { status, headers });
211
283
  }
212
284
  catch (error) {
213
- this.sendError(500, error instanceof Error ? error.message : '[Response Error] - Data cannot be converted to JSON.');
285
+ await this.sendError(500, error instanceof Error ? error.message : '[Response Error] - Data cannot be converted to JSON.');
214
286
  logger.error(`error sending json ${this.request.session.id}`, error);
215
287
  }
216
288
  }
@@ -226,31 +298,45 @@ export class Response {
226
298
  status, message
227
299
  });
228
300
  const headers = this.generateHeaders('html');
229
- this.send(template, { status: status, headers });
301
+ await this.send(template, { status: status, headers });
230
302
  }
231
303
  else {
232
- const template = await Template.load(Utilities.Path.relative('./global/Template/Error.vhtml'), {
304
+ const template = await Template.load(Utilities.Path.module('global/template/error.vhtml'), {
233
305
  status, message
234
306
  });
235
307
  const headers = this.generateHeaders('html');
236
- this.send(template, { status: status, headers });
308
+ await this.send(template, { status: status, headers });
237
309
  }
238
310
  }
239
311
  catch (error) {
240
- console.error(error);
241
312
  const headers = this.generateHeaders('txt');
242
- this.send(`Error: ${status} -> ${message}`, { status: status, headers });
313
+ await this.send(`Error: ${status} -> ${message}`, { status: status, headers });
243
314
  logger.error(`error sending error: ${this.request.session.id}`, error);
244
315
  }
245
316
  }
246
- async fileExist(path) {
317
+ getFsErrorStatus(error) {
318
+ if (!(error instanceof Error))
319
+ return 500;
320
+ const withCode = error;
321
+ if (withCode.code === 'ENOENT' || withCode.code === 'ENOTDIR')
322
+ return 404;
323
+ if (withCode.code === 'EACCES' || withCode.code === 'EPERM')
324
+ return 403;
325
+ return 500;
326
+ }
327
+ static loadVersion() {
328
+ const envVersion = process.env.npm_package_version;
329
+ if (envVersion)
330
+ return envVersion;
247
331
  try {
248
- await FS.promises.stat(path);
249
- return true;
250
- }
251
- catch (error) {
252
- return false;
332
+ const packagePath = Utilities.Path.module('package.json');
333
+ const raw = FS.readFileSync(packagePath, 'utf8');
334
+ const data = JSON.parse(raw);
335
+ if (typeof data.version === 'string' && data.version.length > 0)
336
+ return data.version;
253
337
  }
338
+ catch { }
339
+ return 'unknown';
254
340
  }
255
341
  }
256
342
  export default Response;
@@ -1 +1 @@
1
- {"version":3,"file":"Response.js","sourceRoot":"","sources":["../../src/server/Response.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Response.js","sourceRoot":"","sources":["../../src/server/Response.ts"],"names":[],"mappings":"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"}
@@ -48,7 +48,7 @@ export class Server {
48
48
  this.HttpsServer = null;
49
49
  this.protocol = null;
50
50
  this.logger = _LoggerManager.getInstance();
51
- this.router.addFolder('/NetFeez-Labs:Global', Utilities.Path.normalize(`${Utilities.Path.moduleDir}/global`));
51
+ this.router.addFolder('/vortez:global', Utilities.Path.module('global'));
52
52
  }
53
53
  /**
54
54
  * Starts the server.
@@ -81,7 +81,7 @@ export class Server {
81
81
  catch (error) {
82
82
  logger.error(`&C(255,180,220)│ &C1✖ Error starting server: &R&C6${error instanceof Error ? error.message : error}`);
83
83
  logger.info('&C(255,180,220)╰─────────────────────────────────────────────');
84
- this.stop();
84
+ await this.stop();
85
85
  }
86
86
  }
87
87
  /**
@@ -91,8 +91,11 @@ export class Server {
91
91
  try {
92
92
  logger.info('&C(255,180,220)╭─────────────────────────────');
93
93
  logger.info('&C(255,180,220)│ &C1Stopping server...');
94
- if (!this.HttpServer && !this.HttpsServer)
95
- throw Error('No server to stop');
94
+ if (!this.HttpServer && !this.HttpsServer) {
95
+ logger.info('&C(255,180,220)│ &C3No active servers to stop');
96
+ logger.info('&C(255,180,220)╰─────────────────────────────');
97
+ return;
98
+ }
96
99
  if (this.HttpServer) {
97
100
  await this.stopHTTP();
98
101
  this.HttpServer = null;
@@ -150,7 +153,17 @@ export class Server {
150
153
  const http = HTTP.createServer();
151
154
  http.on('request', this.router.requestManager.bind(this.router));
152
155
  http.on('upgrade', this.router.upgradeManager.bind(this.router));
153
- return new Promise((resolve) => http.listen(port, host, () => resolve(http)));
156
+ return new Promise((resolve, reject) => {
157
+ const errorHandler = (error) => {
158
+ http.off('error', errorHandler);
159
+ reject(error);
160
+ };
161
+ http.once('error', errorHandler);
162
+ http.listen(port, host, () => {
163
+ http.off('error', errorHandler);
164
+ resolve(http);
165
+ });
166
+ });
154
167
  }
155
168
  /**
156
169
  * Initializes the HTTPS server.
@@ -164,7 +177,17 @@ export class Server {
164
177
  const https = HTTPS.createServer(cert);
165
178
  https.on('request', this.router.requestManager.bind(this.router));
166
179
  https.on('upgrade', this.router.upgradeManager.bind(this.router));
167
- return new Promise((resolve) => https.listen(port, host, () => resolve(https)));
180
+ return new Promise((resolve, reject) => {
181
+ const errorHandler = (error) => {
182
+ https.off('error', errorHandler);
183
+ reject(error);
184
+ };
185
+ https.once('error', errorHandler);
186
+ https.listen(port, host, () => {
187
+ https.off('error', errorHandler);
188
+ resolve(https);
189
+ });
190
+ });
168
191
  }
169
192
  /**
170
193
  * Defines default `.vhtml` templates for the server.
@@ -1 +1 @@
1
- {"version":3,"file":"Server.js","sourceRoot":"","sources":["../../src/server/Server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Server.js","sourceRoot":"","sources":["../../src/server/Server.ts"],"names":[],"mappings":"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"}
@@ -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.