@mojojs/core 0.30.1 → 0.32.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.
package/README.md CHANGED
@@ -11,7 +11,7 @@
11
11
  [![npm](https://img.shields.io/npm/v/@mojojs/core.svg)](https://www.npmjs.com/package/@mojojs/core)
12
12
 
13
13
  The [Mojolicious](https://mojolicious.org) real-time web framework for [Node.js](https://nodejs.org/). Written in
14
- TypeScript. Meticulously designed for high performance backend web services using bleeding edge JavaScript features.
14
+ TypeScript. Meticulously designed for hypermedia-driven backend web services using all the latest JavaScript features.
15
15
 
16
16
  If you want to stay up to date on the latest developments join us on [Matrix](https://matrix.to/#/#mojo:matrix.org) or
17
17
  [IRC](https://web.libera.chat/#mojo).
@@ -21,12 +21,12 @@ If you want to stay up to date on the latest developments join us on [Matrix](ht
21
21
  * A real-time web framework, allowing you to easily grow single file prototypes into well-structured MVC web
22
22
  applications.
23
23
  * Powerful out of the box with RESTful routes, WebSockets, plugins, commands, logging, templates, content negotiation,
24
- session management, form validation, testing framework, static file server, cluster mode, first class Unicode
25
- support and much more for you to discover.
24
+ session management, form and JSON validation, testing framework, static file server, cluster mode, first class
25
+ Unicode support and much more for you to discover.
26
26
 
27
27
  * A powerful web development toolkit, that you can use for all kinds of applications, independently of the web
28
28
  framework.
29
- * Full featured HTTP and WebSocket user agent with support for HTTPS/WSS, cookies, redirects,
29
+ * High performance HTTP and WebSocket client/server implementation with support for HTTPS/WSS, cookies, redirects,
30
30
  urlencoded/multi-part forms, file uploads, JSON/YAML, HTML/XML, mocking, API testing, HTTP/SOCKS proxies, and gzip
31
31
  compression.
32
32
  * HTML/XML parser with CSS selector support.
package/lib/body.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  import type { JSONValue } from './types.js';
3
4
  import type { Readable, Writable } from 'stream';
4
5
  import { Params } from './body/params.js';
package/lib/logger.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  import type { JSONValue } from './types.js';
3
4
  import type { WriteStream } from 'fs';
4
5
  interface LogContext {
@@ -27,7 +28,8 @@ export declare class Logger {
27
28
  * The last few logged messages.
28
29
  */
29
30
  history: LogEvent[];
30
- _historySize: number;
31
+ _capture: CapturedLogs | undefined;
32
+ _historySize: number | undefined;
31
33
  _level: number;
32
34
  constructor(options?: {
33
35
  destination?: WriteStream;
@@ -35,6 +37,10 @@ export declare class Logger {
35
37
  historySize?: number;
36
38
  level?: string;
37
39
  });
40
+ /**
41
+ * Capture log messages for as long as the returned object has not been stopped, useful for testing log messages.
42
+ */
43
+ capture(level?: string): CapturedLogs;
38
44
  /**
39
45
  * Create a child logger that will include context information with every log message.
40
46
  */
@@ -86,6 +92,22 @@ export declare class Logger {
86
92
  warn(msg: string, context?: LogContext): void;
87
93
  _log(level: string, msg: string, context?: LogContext): void;
88
94
  }
95
+ /**
96
+ * Captured log message class.
97
+ */
98
+ declare class CapturedLogs extends Array<string> {
99
+ _cb: () => void;
100
+ _stopped: boolean;
101
+ constructor(cb: () => void);
102
+ /**
103
+ * Stop capturing log messages.
104
+ */
105
+ stop(): void;
106
+ /**
107
+ * Turn log messages into a string.
108
+ */
109
+ toString(): string;
110
+ }
89
111
  /**
90
112
  * Child logger class.
91
113
  */
package/lib/logger.js CHANGED
@@ -17,11 +17,26 @@ export class Logger {
17
17
  * The last few logged messages.
18
18
  */
19
19
  this.history = [];
20
+ this._capture = undefined;
20
21
  this._level = 7;
21
22
  this.destination = options.destination ?? process.stderr;
22
23
  this.formatter = options.formatter ?? Logger.colorFormatter;
23
24
  this.level = process.env.MOJO_LOG_LEVEL ?? options.level ?? 'trace';
24
- this._historySize = options.historySize ?? 0;
25
+ this._historySize = options.historySize;
26
+ }
27
+ /**
28
+ * Capture log messages for as long as the returned object has not been stopped, useful for testing log messages.
29
+ */
30
+ capture(level = this.level) {
31
+ if (this._capture !== undefined)
32
+ throw new Error('Log messages are already being captured');
33
+ const original = this.level;
34
+ this.level = level;
35
+ this._capture = new CapturedLogs(() => {
36
+ this.level = original;
37
+ this._capture = undefined;
38
+ });
39
+ return this._capture;
25
40
  }
26
41
  /**
27
42
  * Create a child logger that will include context information with every log message.
@@ -116,18 +131,46 @@ export class Logger {
116
131
  }
117
132
  _log(level, msg, context) {
118
133
  const data = { ...context, time: new Date().toISOString(), msg, level };
119
- if (this._historySize === 0) {
120
- this.destination.write(this.formatter(data));
121
- }
122
- else {
134
+ if (this._historySize !== undefined) {
123
135
  const history = this.history;
124
- const historySize = this._historySize;
125
136
  history.push(data);
126
- while (history.length > historySize) {
127
- history.shift();
128
- }
129
- this.destination.write(this.formatter(data));
137
+ const maxHistorySize = this._historySize;
138
+ const historySize = history.length;
139
+ if (historySize > maxHistorySize)
140
+ history.splice(0, historySize - maxHistorySize);
130
141
  }
142
+ const formatted = this.formatter(data);
143
+ if (this._capture === undefined) {
144
+ this.destination.write(formatted);
145
+ }
146
+ else {
147
+ this._capture.push(formatted);
148
+ }
149
+ }
150
+ }
151
+ /**
152
+ * Captured log message class.
153
+ */
154
+ class CapturedLogs extends Array {
155
+ constructor(cb) {
156
+ super();
157
+ this._stopped = false;
158
+ this._cb = cb;
159
+ }
160
+ /**
161
+ * Stop capturing log messages.
162
+ */
163
+ stop() {
164
+ if (this._stopped === true)
165
+ return;
166
+ this._cb();
167
+ this._stopped = true;
168
+ }
169
+ /**
170
+ * Turn log messages into a string.
171
+ */
172
+ toString() {
173
+ return this.join('');
131
174
  }
132
175
  }
133
176
  /**
package/lib/logger.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ /// <reference types="node" />
2
4
  import type { Context } from '../context.js';
3
5
  import type { CookieOptions } from '../types.js';
4
6
  import type { Stream } from 'stream';
package/lib/server.d.ts CHANGED
@@ -1,4 +1,8 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ /// <reference types="node" />
4
+ /// <reference types="node" />
5
+ /// <reference types="node" />
2
6
  import type { App } from './app.js';
3
7
  import type { ServerOptions } from './types.js';
4
8
  import type { Socket } from 'net';
package/lib/server.js CHANGED
@@ -10,6 +10,14 @@ import { termEscape } from './util.js';
10
10
  import { WebSocket } from './websocket.js';
11
11
  import Path from '@mojojs/path';
12
12
  import { WebSocketServer } from 'ws';
13
+ /*
14
+ To regenerate the certificate run this command:
15
+ openssl req -x509 -newkey rsa:4096 -nodes -sha256 -out development.crt -keyout development.key -days 7300
16
+ -subj '/CN=localhost'
17
+ */
18
+ const certs = Path.currentFile().dirname().sibling('vendor', 'certs');
19
+ const devCert = certs.child('development.crt').toString();
20
+ const devKey = certs.child('development.key').toString();
13
21
  /**
14
22
  * Server class.
15
23
  */
@@ -81,8 +89,8 @@ export class Server {
81
89
  const options = {};
82
90
  if (url.protocol === 'https:') {
83
91
  const params = url.searchParams;
84
- options.cert = await new Path(params.get('cert') ?? '').readFile();
85
- options.key = await new Path(params.get('key') ?? '').readFile();
92
+ options.cert = await new Path(params.get('cert') ?? devCert).readFile();
93
+ options.key = await new Path(params.get('key') ?? devKey).readFile();
86
94
  isHttps = true;
87
95
  }
88
96
  await this.app.warmup();
package/lib/server.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAGA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAC,MAAM,EAAC,MAAM,QAAQ,CAAC;AAC9B,OAAO,EAAC,GAAG,EAAC,MAAM,KAAK,CAAC;AACxB,OAAO,EAAC,aAAa,EAAC,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAC,cAAc,EAAC,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAC;AACrC,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,IAAI,MAAM,cAAc,CAAC;AAChC,OAAO,EAAC,eAAe,EAAC,MAAM,IAAI,CAAC;AAMnC;;GAEG;AACH,MAAM,OAAO,MAAM;IAsCjB,YAAY,GAAQ,EAAE,UAAyB,EAAE;QAXjD;;WAEG;QACH,SAAI,GAAU,EAAE,CAAC;QAIjB,aAAQ,GAAsC,EAAE,CAAC;QAK/C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,gBAAgB,GAAG,OAAO,CAAC,gBAAgB,CAAC;QACjD,IAAI,CAAC,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;QACzD,IAAI,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;QAC7C,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,IAAI,KAAK,CAAC;QAElD,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,IAAI,KAAK,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,MAAM,IAAI,CAAC,eAAe,CAAC,CAAC;QACnD,IAAI,CAAC,QAAQ,GAAG,EAAE,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,KAAK,CAAC;QACrC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,gBAAgB,CAAC,GAAQ;QAC9B,MAAM,MAAM,GAAG,EAAE,CAAC;QAElB,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC;QAC9B,MAAM,IAAI,GAAG,GAAG,CAAC,IAAI,CAAC;QACtB,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC;QAEhC,IAAI,IAAI,KAAK,EAAE,IAAI,QAAQ,KAAK,EAAE,EAAE;YAClC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,QAAQ,KAAK,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC;SAC3F;aAAM,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YACpC,MAAM,CAAC,IAAI,CAAC,EAAC,EAAE,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,EAAC,CAAC,CAAC;SACrD;aAAM;YACL,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;SACnC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK;QACT,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,cAAc,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;QACvD,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,OAAO,CAAC,SAAS,KAAK,IAAI,EAAE;YACxD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE;gBACtC,OAAO,CAAC,IAAI,EAAE,CAAC;aAChB;SACF;aAAM;YACL,KAAK,MAAM,QAAQ,IAAI,IAAI,CAAC,OAAO,EAAE;gBACnC,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;aACpC;SACF;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,MAAM,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,EAAC,MAAM,EAAC,EAAE,CAAC,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;QAC1G,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,QAAgB;QAClC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;QAE9B,IAAI,OAAO,GAAG,KAAK,CAAC;QACpB,MAAM,OAAO,GAAwB,EAAE,CAAC;QACxC,IAAI,GAAG,CAAC,QAAQ,KAAK,QAAQ,EAAE;YAC7B,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,CAAC;YAChC,OAAO,CAAC,IAAI,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;YACnE,OAAO,CAAC,GAAG,GAAG,MAAM,IAAI,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC;YACjE,OAAO,GAAG,IAAI,CAAC;SAChB;QAED,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;QAExB,MAAM,GAAG,GAAG,IAAI,eAAe,CAAC,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QAC9F,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAE3B,IAAI,IAAI,CAAC,oBAAoB,KAAK,SAAS;YAAE,MAAM,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QACrG,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS;YAAE,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QACnF,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS;YAAE,MAAM,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QACzF,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS;YAAE,MAAM,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;QAEnF,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;QAE1D,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,GAAG,EAAE;YACzC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAc,EAAE,EAAE;gBACzC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;gBAC9B,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;gBACjG,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;gBAC3B,MAAM,CAAC,KAAK,GAAG,CAAC,KAAU,EAAE,EAAO,EAAE,EAAE;oBACrC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,yBAAyB,KAAK,EAAE,CAAC,CAAC,CAAC;oBAC3D,OAAO,KAAK,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;gBAC1C,CAAC,CAAC;YACJ,CAAC,CAAC,CAAC;SACJ;QAED,OAAO,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;YAC3B,MAAM,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE;gBAClD,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,EAAE,CAAC;gBACjC,IAAI,OAAO,KAAK,IAAI,IAAI,OAAO,OAAO,KAAK,QAAQ;oBAAE,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;gBAE/F,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,OAAO,CAAC,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC;gBAClF,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,GAAG,GAAG,CAAC,QAAQ,KAAK,IAAI,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;gBACzE,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBAE7B,IAAI,IAAI,CAAC,MAAM,KAAK,KAAK,EAAE;oBACzB,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,EAAE;wBAC1B,OAAO,CAAC,GAAG,CAAC,IAAI,OAAO,CAAC,GAAG,kCAAkC,YAAY,EAAE,CAAC,CAAC;qBAC9E;yBAAM;wBACL,OAAO,CAAC,GAAG,CAAC,gCAAgC,YAAY,EAAE,CAAC,CAAC;qBAC7D;iBACF;gBAED,OAAO,EAAE,CAAC;YACZ,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,cAAc,CAAC,GAAyB,EAAE,GAAwB;QAChE,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;QAC1B,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CACxB,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,CAAC,EACxC,IAAI,cAAc,CAAC,UAAU,GAAmB,EAAE,IAAkB;YAClE,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;QAChC,CAAC,CAAC,CACH,CAAC;QACF,GAAG,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC;QAC3C,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9D,CAAC;IAED,cAAc,CAAC,GAAoB,EAAE,GAAyB,EAAE,MAAc,EAAE,IAAY;QAC1F,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;QACrB,MAAM,GAAG,GAAG,GAAG,CAAC,UAAU,CACxB,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EACvC,IAAI,cAAc,CAAC,UAAU,GAAmB,EAAE,IAAkB;YAClE,aAAa,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,CAAC;QACzD,CAAC,CAAC,CACH,CAAC;QAEF,GAAG;aACA,aAAa,CAAC,GAAG,CAAC;aAClB,IAAI,CAAC,GAAG,EAAE;YACT,IAAI,GAAG,CAAC,UAAU,KAAK,IAAI,EAAE;gBAC3B,GAAG,CAAC,aAAa,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,CAAC,EAAE;oBACxC,GAAG,CAAC,aAAa,CAAC,IAAI,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,EAAC,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAC,CAAC,CAAC,CAAC;gBACvE,CAAC,CAAC,CAAC;aACJ;iBAAM;gBACL,MAAM,CAAC,OAAO,EAAE,CAAC;aAClB;QACH,CAAC,CAAC;aACD,KAAK,CAAC,KAAK,CAAC,EAAE;YACb,IAAI,GAAG,CAAC,UAAU,KAAK,KAAK;gBAAE,MAAM,CAAC,OAAO,EAAE,CAAC;YAC/C,OAAO,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,eAAe,CAAC,GAAyB,EAAE,MAAc,EAAE,WAAoB;QAC7E,OAAO,IAAI,aAAa,CAAC;YACvB,IAAI,EAAE,GAAG;YACT,OAAO,EAAE,GAAG,CAAC,UAAU;YACvB,QAAQ,EAAG,MAAc,CAAC,SAAS,IAAI,KAAK;YAC5C,WAAW,EAAE,WAAW;YACxB,MAAM,EAAE,GAAG,CAAC,MAAM;YAClB,aAAa,EAAE,MAAM,CAAC,aAAa;YACnC,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,GAAG,EAAE,GAAG,CAAC,GAAG;SACb,CAAC,CAAC;IACL,CAAC;CACF;AAED,SAAS,YAAY,CAAC,GAAmB,EAAE,GAAwB;IACjE,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;IAClC,MAAM,aAAa,GAAG,GAAG,CAAC,aAAa,CAAC;IACxC,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC;IAEtC,IAAI,aAAa,KAAK,IAAI,EAAE;QAC1B,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;KACpC;SAAM;QACL,GAAG,CAAC,SAAS,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,CAAC,CAAC;KACnD;AACH,CAAC;AAED,SAAS,aAAa,CAAC,GAAmB,EAAE,IAAkB,EAAE,GAAwB;IACtF,IAAI,OAAO,IAAI,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;QACrD,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACvB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;KACf;SAAM,IAAI,IAAI,YAAY,MAAM,EAAE;QACjC,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KAChB;SAAM;QACL,YAAY,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QACvB,GAAG,CAAC,GAAG,EAAE,CAAC;KACX;AACH,CAAC"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts CHANGED
@@ -1,4 +1,8 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ /// <reference types="node" />
4
+ /// <reference types="node" />
5
+ /// <reference types="node" />
2
6
  /// <reference types="tap" />
3
7
  import type { App } from './app.js';
4
8
  import type { Context } from './context.js';
@@ -18,7 +18,9 @@ export declare class MockUserAgent extends UserAgent {
18
18
  /**
19
19
  * Start mock server.
20
20
  */
21
- start(app: App, options?: ServerOptions): Promise<this>;
21
+ start(app: App, options?: ServerOptions & {
22
+ https?: boolean;
23
+ }): Promise<this>;
22
24
  /**
23
25
  * Stop mock server.
24
26
  */
@@ -22,7 +22,8 @@ export class MockUserAgent extends UserAgent {
22
22
  * Start mock server.
23
23
  */
24
24
  async start(app, options = {}) {
25
- const server = (this.server = new Server(app, { ...options, listen: ['http://*'], quiet: true }));
25
+ const listen = [options.https === true ? 'https://*' : 'http://*'];
26
+ const server = (this.server = new Server(app, { ...options, listen, quiet: true }));
26
27
  await server.start();
27
28
  if (this.baseURL === undefined)
28
29
  this.baseURL = server.urls[0];
@@ -1 +1 @@
1
- {"version":3,"file":"mock.js","sourceRoot":"","sources":["../../src/user-agent/mock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAC;AACpC,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAE3C;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,SAAS;IAM1C,YAAY,OAA0B;QACpC,KAAK,CAAC,OAAO,CAAC,CAAC;QANjB;;WAEG;QACH,WAAM,GAAuB,SAAS,CAAC;QAKrC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAC3B,GAAQ,EACR,OAA0B,EAC1B,aAA6B;QAE7B,OAAO,MAAM,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,GAAQ,EAAE,UAAyB,EAAE;QAC/C,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,EAAC,GAAG,OAAO,EAAE,MAAM,EAAE,CAAC,UAAU,CAAC,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;QAChG,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO;QACtC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;CACF"}
1
+ {"version":3,"file":"mock.js","sourceRoot":"","sources":["../../src/user-agent/mock.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAC;AACpC,OAAO,EAAC,SAAS,EAAC,MAAM,kBAAkB,CAAC;AAE3C;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,SAAS;IAM1C,YAAY,OAA0B;QACpC,KAAK,CAAC,OAAO,CAAC,CAAC;QANjB;;WAEG;QACH,WAAM,GAAuB,SAAS,CAAC;QAKrC,IAAI,CAAC,MAAM,GAAG,SAAS,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,KAAK,CAAC,gBAAgB,CAC3B,GAAQ,EACR,OAA0B,EAC1B,aAA6B;QAE7B,OAAO,MAAM,IAAI,aAAa,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,KAAK,CAAC,GAAQ,EAAE,UAA6C,EAAE;QACnE,MAAM,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;QACnE,MAAM,MAAM,GAAG,CAAC,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,EAAC,GAAG,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAC,CAAC,CAAC,CAAC;QAClF,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC9D,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,OAAO,EAAE,CAAC;QACf,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS;YAAE,OAAO;QACtC,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAClC,CAAC;CACF"}
@@ -1,5 +1,7 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  /// <reference types="tap" />
4
+ /// <reference types="node" />
3
5
  import type { App } from '../app.js';
4
6
  import type { JSONValue, ServerOptions, TestUserAgentOptions, UserAgentRequestOptions, UserAgentWebSocketOptions } from '../types.js';
5
7
  import type { WebSocket } from '../websocket.js';
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  import type { UserAgentRequestOptions } from '../../types.js';
3
4
  import type { URL } from 'url';
4
5
  import http from 'http';
@@ -1,4 +1,6 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ /// <reference types="node" />
2
4
  import type { UserAgentRequestOptions } from '../../types.js';
3
5
  import type http from 'http';
4
6
  import type { URL } from 'url';
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  import type { UserAgentOptions, UserAgentRequestOptions, UserAgentWebSocketOptions } from './types.js';
3
4
  import type { UserAgentResponse } from './user-agent/response.js';
4
5
  import type { WebSocket } from './websocket.js';
package/lib/util.d.ts CHANGED
@@ -1,4 +1,6 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
3
+ /// <reference types="node" />
2
4
  import type { JSONValue } from './types.js';
3
5
  import type { Mode } from 'fs';
4
6
  import { setTimeout } from 'timers/promises';
@@ -1,4 +1,5 @@
1
1
  /// <reference types="node" />
2
+ /// <reference types="node" />
2
3
  import type { JSONValue } from './types.js';
3
4
  import type { UserAgentResponse } from './user-agent/response.js';
4
5
  import type WS from 'ws';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mojojs/core",
3
- "version": "0.30.1",
3
+ "version": "0.32.0",
4
4
  "description": "Real-time web framework",
5
5
  "keywords": [
6
6
  "web",
@@ -0,0 +1,27 @@
1
+ -----BEGIN CERTIFICATE-----
2
+ MIIEpDCCAowCCQDeF+AckZXPpzANBgkqhkiG9w0BAQsFADAUMRIwEAYDVQQDDAls
3
+ b2NhbGhvc3QwHhcNMjIwNTI1MTg0MzU0WhcNNDIwNTIwMTg0MzU0WjAUMRIwEAYD
4
+ VQQDDAlsb2NhbGhvc3QwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQCl
5
+ fLiPEGhT/StHvJkX2RAHIacb2x4KpRpYoUGTDoyaS7oR1QM1iy1plEu6dGCnNa1O
6
+ QEDQ769O6f3h+IKrd36kCSDKJpfVYG58HHS3ZHVDvr46PihAq1b6s5u7bWSusuCn
7
+ DxEkTq09mT7flYB3r1v2R8MBdvuc4mi9VLpJXrvEUnOM3YWfBPfcatIVQMBOGHjJ
8
+ 9Xe33xFQ07csaRGi8gQ3nynJ1ANbpNoY0uaoAmnoM5se3k1mKw4gahY1q54sAa+S
9
+ 4Woi5g+Emzwh3vbH+33s7Vgec+gClm7nkE0i40FOtk0lqz6Qr3gvSyCHrpr+31xI
10
+ Uba+pOCpb77Mms/dr/ZA10Q3nLwE8Bq7A+K1s/i8+DykL3rKlCNLFPwtJYOAqnj+
11
+ qpPD6LXrZcZBGkBpthrn5ksHw2B96V7aO9G+TWfLVP+fJGwC719U/jzGScxn3fTx
12
+ 099kCXwC9rEoY/duN+pRfdYlRJUs2pvIXKK3seRrOVdgHsvE3k++TpFZ9mcdZhvO
13
+ JoQSyGRcFaBerp4x9p5aHzqXJ2GGHdBkqHsN+0cRcuWXp2NNFH8cyp0EBpgKwQh3
14
+ JoF6mAprtyDaZSYaHMmQhncIDILfynvuj92fuYs/icU0PhAT8YNJgxKgUQ/qVdXN
15
+ MR1mDIzNZfyZmTArLZhBEvg1WvqA+W1diOaS2nPhIQIDAQABMA0GCSqGSIb3DQEB
16
+ CwUAA4ICAQABbiGBg4KyJafGxHDJKotZ9GgecqJOPUE76dseXWOVEqB+3JFuG2AR
17
+ Y4PfP175VuwpNwHBuMwm84Pg0F05RcRowC74/eKcWBPdQCSmsTI7e3oD7Gl/ZCqr
18
+ 67IFQSIJeoQVhPFucQEbLqr+yGMDoR2htGZkFsTd+NQlpXn0j/KFE3bV5tJE8cxP
19
+ 098Exdrww4xcJRrBPdlSRK/EGCXb2WH4n4pu3qiLOCZXO+n21S6CFGTZZEPLuQS0
20
+ 8zANEdajDNBM802I6OG3dIoZzk81oSxf9rO4dFZiyj/sag+vkSNyo/CKDO2BYaj6
21
+ 6j2LTJX0mOeRRjJvQPTc9Hn2WHL3shMoFCX+ebYEoXEHzrktXAvSRGlFkquK/vtG
22
+ iCC0skOihKXVjM4nPtvoDYWPpY357Urc5169B28ImC2wWynUevwrRR4DXiL6AIXV
23
+ nwI9S4u52uo7J5fDic9ZCZu11TJqK7ronZHULWmFDStL397BEJkSZI+7YFklmBz3
24
+ TJAapw1Z2OPUlNjAeINgAAG0PUxySRucIJ73Rm4mStkKrOzru5cgonq7xJYp3NzE
25
+ X5yCeJFdYBZrlHT1A19pJhdkMe4emTBQK6RYsLQCgiuWMMQih/3Uolpyf2IPaSR8
26
+ iu1VpciipBhDgbBmJ0ufZlBHamFmZdv7UXEAp7xubZ+7a1zhsYS/UA==
27
+ -----END CERTIFICATE-----
@@ -0,0 +1,52 @@
1
+ -----BEGIN PRIVATE KEY-----
2
+ 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
51
+ 8NMC/h4np5hOmslud/7X5EXe+ZSVJUU=
52
+ -----END PRIVATE KEY-----