@mojojs/core 1.27.0 → 2.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.
- package/README.md +1 -1
- package/lib/app.d.ts +24 -16
- package/lib/app.js +172 -126
- package/lib/body/params.js +0 -1
- package/lib/body.d.ts +13 -5
- package/lib/body.js +47 -17
- package/lib/cache.d.ts +1 -2
- package/lib/cache.js +12 -21
- package/lib/cgi.d.ts +3 -3
- package/lib/cgi.js +6 -5
- package/lib/cli/cgi.d.ts +1 -1
- package/lib/cli/cgi.js +1 -2
- package/lib/cli/create-full-app.d.ts +1 -1
- package/lib/cli/create-full-app.js +27 -27
- package/lib/cli/create-lite-app.d.ts +1 -1
- package/lib/cli/create-lite-app.js +2 -3
- package/lib/cli/create-plugin.d.ts +1 -1
- package/lib/cli/create-plugin.js +25 -23
- package/lib/cli/eval.d.ts +1 -1
- package/lib/cli/eval.js +12 -5
- package/lib/cli/get.d.ts +1 -1
- package/lib/cli/get.js +30 -26
- package/lib/cli/repl.d.ts +1 -1
- package/lib/cli/repl.js +0 -1
- package/lib/cli/routes.d.ts +1 -1
- package/lib/cli/routes.js +10 -7
- package/lib/cli/server.d.ts +1 -1
- package/lib/cli/server.js +41 -24
- package/lib/cli/version.js +1 -2
- package/lib/cli.d.ts +1 -1
- package/lib/cli.js +25 -19
- package/lib/context.d.ts +10 -10
- package/lib/context.js +94 -34
- package/lib/core.d.ts +14 -14
- package/lib/core.js +12 -13
- package/lib/headers.js +5 -4
- package/lib/hooks.d.ts +1 -1
- package/lib/hooks.js +1 -5
- package/lib/logger.d.ts +2 -2
- package/lib/logger.js +28 -16
- package/lib/mime.js +10 -13
- package/lib/plugins/default-conditions.d.ts +1 -1
- package/lib/plugins/default-conditions.js +0 -1
- package/lib/plugins/default-helpers.d.ts +1 -1
- package/lib/plugins/default-helpers.js +28 -11
- package/lib/plugins/json-config.d.ts +1 -1
- package/lib/plugins/json-config.js +0 -1
- package/lib/plugins/mount.d.ts +1 -1
- package/lib/plugins/mount.js +0 -1
- package/lib/plugins/tmpl-engine.d.ts +1 -1
- package/lib/plugins/tmpl-engine.js +2 -5
- package/lib/plugins/yaml-config.d.ts +1 -1
- package/lib/plugins/yaml-config.js +1 -2
- package/lib/renderer.d.ts +1 -1
- package/lib/renderer.js +27 -30
- package/lib/router/pattern.d.ts +1 -1
- package/lib/router/pattern.js +25 -14
- package/lib/router/plan.d.ts +1 -1
- package/lib/router/plan.js +12 -15
- package/lib/router/route.d.ts +3 -3
- package/lib/router/route.js +35 -38
- package/lib/router.d.ts +4 -4
- package/lib/router.js +25 -26
- package/lib/server/cookie.d.ts +1 -1
- package/lib/server/cookie.js +1 -2
- package/lib/server/request.d.ts +3 -3
- package/lib/server/request.js +44 -17
- package/lib/server/response.d.ts +3 -3
- package/lib/server/response.js +20 -20
- package/lib/server.d.ts +7 -2
- package/lib/server.js +69 -19
- package/lib/session.d.ts +3 -3
- package/lib/session.js +46 -34
- package/lib/sse.d.ts +1 -1
- package/lib/sse.js +0 -1
- package/lib/static.d.ts +1 -1
- package/lib/static.js +27 -22
- package/lib/types.d.ts +6 -5
- package/lib/types.js +0 -1
- package/lib/user-agent/cookie-jar.d.ts +2 -2
- package/lib/user-agent/cookie-jar.js +6 -9
- package/lib/user-agent/mock.d.ts +4 -4
- package/lib/user-agent/mock.js +6 -7
- package/lib/user-agent/response.d.ts +2 -2
- package/lib/user-agent/response.js +14 -3
- package/lib/user-agent/test.d.ts +5 -5
- package/lib/user-agent/test.js +14 -15
- package/lib/user-agent/transport/http.d.ts +2 -2
- package/lib/user-agent/transport/http.js +7 -10
- package/lib/user-agent/transport/https.d.ts +2 -2
- package/lib/user-agent/transport/https.js +2 -6
- package/lib/user-agent/transport/ws.d.ts +2 -2
- package/lib/user-agent/transport/ws.js +2 -3
- package/lib/user-agent.d.ts +18 -19
- package/lib/user-agent.js +64 -49
- package/lib/util.d.ts +13 -0
- package/lib/util.js +35 -11
- package/lib/validator/result.d.ts +1 -1
- package/lib/validator/result.js +8 -1
- package/lib/validator.d.ts +2 -2
- package/lib/validator.js +3 -6
- package/lib/websocket.d.ts +2 -2
- package/lib/websocket.js +9 -1
- package/package.json +22 -29
- package/lib/app.js.map +0 -1
- package/lib/body/params.js.map +0 -1
- package/lib/body.js.map +0 -1
- package/lib/cache.js.map +0 -1
- package/lib/cgi.js.map +0 -1
- package/lib/cli/cgi.js.map +0 -1
- package/lib/cli/create-full-app.js.map +0 -1
- package/lib/cli/create-lite-app.js.map +0 -1
- package/lib/cli/create-plugin.js.map +0 -1
- package/lib/cli/eval.js.map +0 -1
- package/lib/cli/get.js.map +0 -1
- package/lib/cli/repl.js.map +0 -1
- package/lib/cli/routes.js.map +0 -1
- package/lib/cli/server.js.map +0 -1
- package/lib/cli/version.js.map +0 -1
- package/lib/cli.js.map +0 -1
- package/lib/context.js.map +0 -1
- package/lib/core.js.map +0 -1
- package/lib/headers.js.map +0 -1
- package/lib/hooks.js.map +0 -1
- package/lib/logger.js.map +0 -1
- package/lib/mime.js.map +0 -1
- package/lib/plugins/default-conditions.js.map +0 -1
- package/lib/plugins/default-helpers.js.map +0 -1
- package/lib/plugins/json-config.js.map +0 -1
- package/lib/plugins/mount.js.map +0 -1
- package/lib/plugins/tmpl-engine.js.map +0 -1
- package/lib/plugins/yaml-config.js.map +0 -1
- package/lib/renderer.js.map +0 -1
- package/lib/router/pattern.js.map +0 -1
- package/lib/router/plan.js.map +0 -1
- package/lib/router/route.js.map +0 -1
- package/lib/router.js.map +0 -1
- package/lib/server/cookie.js.map +0 -1
- package/lib/server/request.js.map +0 -1
- package/lib/server/response.js.map +0 -1
- package/lib/server.js.map +0 -1
- package/lib/session.js.map +0 -1
- package/lib/sse.js.map +0 -1
- package/lib/static.js.map +0 -1
- package/lib/types.js.map +0 -1
- package/lib/user-agent/cookie-jar.js.map +0 -1
- package/lib/user-agent/mock.js.map +0 -1
- package/lib/user-agent/response.js.map +0 -1
- package/lib/user-agent/test.js.map +0 -1
- package/lib/user-agent/transport/http.js.map +0 -1
- package/lib/user-agent/transport/https.js.map +0 -1
- package/lib/user-agent/transport/ws.js.map +0 -1
- package/lib/user-agent.js.map +0 -1
- package/lib/util.js.map +0 -1
- package/lib/validator/result.js.map +0 -1
- package/lib/validator.js.map +0 -1
- package/lib/websocket.js.map +0 -1
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import https from 'node:https';
|
|
2
|
-
import { HTTPTransport } from
|
|
2
|
+
import { HTTPTransport } from "./http.js";
|
|
3
3
|
/**
|
|
4
4
|
* HTTPS transport class.
|
|
5
5
|
*/
|
|
6
6
|
export class HTTPSTransport extends HTTPTransport {
|
|
7
|
-
|
|
8
|
-
super(...arguments);
|
|
9
|
-
this.agent = new https.Agent();
|
|
10
|
-
}
|
|
7
|
+
agent = new https.Agent();
|
|
11
8
|
_prepareOptions(config) {
|
|
12
9
|
const options = super._prepareOptions(config);
|
|
13
10
|
if (config.ca !== undefined)
|
|
@@ -22,4 +19,3 @@ export class HTTPSTransport extends HTTPTransport {
|
|
|
22
19
|
return https.request(url, options, cb);
|
|
23
20
|
}
|
|
24
21
|
}
|
|
25
|
-
//# sourceMappingURL=https.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { UserAgentWebSocketOptions } from '../../types.
|
|
2
|
-
import { WebSocket } from '../../websocket.
|
|
1
|
+
import type { UserAgentWebSocketOptions } from '../../types.ts';
|
|
2
|
+
import { WebSocket } from '../../websocket.ts';
|
|
3
3
|
/**
|
|
4
4
|
* WebSocket transport class.
|
|
5
5
|
*/
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { WebSocket } from
|
|
2
|
-
import { UserAgentResponse } from
|
|
1
|
+
import { WebSocket } from "../../websocket.js";
|
|
2
|
+
import { UserAgentResponse } from "../response.js";
|
|
3
3
|
import WS from 'ws';
|
|
4
4
|
/**
|
|
5
5
|
* WebSocket transport class.
|
|
@@ -37,4 +37,3 @@ export class WSTransport {
|
|
|
37
37
|
});
|
|
38
38
|
}
|
|
39
39
|
}
|
|
40
|
-
//# sourceMappingURL=ws.js.map
|
package/lib/user-agent.d.ts
CHANGED
|
@@ -1,17 +1,16 @@
|
|
|
1
|
-
import type { UserAgentOptions, UserAgentRequestOptions, UserAgentWebSocketOptions } from './types.
|
|
2
|
-
import type { UserAgentResponse } from './user-agent/response.
|
|
3
|
-
import type { WebSocket } from './websocket.
|
|
1
|
+
import type { UserAgentOptions, UserAgentRequestOptions, UserAgentWebSocketOptions } from './types.ts';
|
|
2
|
+
import type { UserAgentResponse } from './user-agent/response.ts';
|
|
3
|
+
import type { WebSocket } from './websocket.ts';
|
|
4
4
|
import { URL } from 'node:url';
|
|
5
|
-
import { CookieJar } from './user-agent/cookie-jar.
|
|
6
|
-
import { HTTPTransport } from './user-agent/transport/http.
|
|
7
|
-
import { HTTPSTransport } from './user-agent/transport/https.
|
|
8
|
-
import { WSTransport } from './user-agent/transport/ws.
|
|
5
|
+
import { CookieJar } from './user-agent/cookie-jar.ts';
|
|
6
|
+
import { HTTPTransport } from './user-agent/transport/http.ts';
|
|
7
|
+
import { HTTPSTransport } from './user-agent/transport/https.ts';
|
|
8
|
+
import { WSTransport } from './user-agent/transport/ws.ts';
|
|
9
9
|
import { AsyncHooks } from '@mojojs/util';
|
|
10
|
-
import FormData from 'form-data';
|
|
11
10
|
interface Upload {
|
|
12
11
|
content: string;
|
|
13
12
|
filename: string;
|
|
14
|
-
type
|
|
13
|
+
type?: string;
|
|
15
14
|
}
|
|
16
15
|
type UserAgentHook = (ua: UserAgent, ...args: any[]) => any;
|
|
17
16
|
/**
|
|
@@ -63,35 +62,35 @@ declare class UserAgent {
|
|
|
63
62
|
/**
|
|
64
63
|
* Perform `DELETE` request.
|
|
65
64
|
*/
|
|
66
|
-
delete(url: string | URL, options
|
|
65
|
+
delete(url: string | URL, options?: UserAgentRequestOptions): Promise<UserAgentResponse>;
|
|
67
66
|
/**
|
|
68
67
|
* Perform `GET` request.
|
|
69
68
|
*/
|
|
70
|
-
get(url: string | URL, options
|
|
69
|
+
get(url: string | URL, options?: UserAgentRequestOptions): Promise<UserAgentResponse>;
|
|
71
70
|
/**
|
|
72
71
|
* Perform `HEAD` request.
|
|
73
72
|
*/
|
|
74
|
-
head(url: string | URL, options
|
|
73
|
+
head(url: string | URL, options?: UserAgentRequestOptions): Promise<UserAgentResponse>;
|
|
75
74
|
/**
|
|
76
75
|
* Perform `OPTIONS` request.
|
|
77
76
|
*/
|
|
78
|
-
options(url: string | URL, options
|
|
77
|
+
options(url: string | URL, options?: UserAgentRequestOptions): Promise<UserAgentResponse>;
|
|
79
78
|
/**
|
|
80
79
|
* Perform `PATCH` request.
|
|
81
80
|
*/
|
|
82
|
-
patch(url: string | URL, options
|
|
81
|
+
patch(url: string | URL, options?: UserAgentRequestOptions): Promise<UserAgentResponse>;
|
|
83
82
|
/**
|
|
84
83
|
* Perform `POST` request.
|
|
85
84
|
*/
|
|
86
|
-
post(url: string | URL, options
|
|
85
|
+
post(url: string | URL, options?: UserAgentRequestOptions): Promise<UserAgentResponse>;
|
|
87
86
|
/**
|
|
88
87
|
* Perform `PUT` request.
|
|
89
88
|
*/
|
|
90
|
-
put(url: string | URL, options
|
|
89
|
+
put(url: string | URL, options?: UserAgentRequestOptions): Promise<UserAgentResponse>;
|
|
91
90
|
/**
|
|
92
91
|
* Perform `QUERY` request.
|
|
93
92
|
*/
|
|
94
|
-
query(url: string | URL, options
|
|
93
|
+
query(url: string | URL, options?: UserAgentRequestOptions): Promise<UserAgentResponse>;
|
|
95
94
|
/**
|
|
96
95
|
* Perform HTTP request.
|
|
97
96
|
*/
|
|
@@ -101,9 +100,9 @@ declare class UserAgent {
|
|
|
101
100
|
*/
|
|
102
101
|
websocket(url: string | URL, options?: UserAgentWebSocketOptions): Promise<WebSocket>;
|
|
103
102
|
_filterConfig(config: UserAgentRequestOptions): Promise<Record<string, any>>;
|
|
104
|
-
_filterSharedConfig(
|
|
103
|
+
_filterSharedConfig(options: UserAgentRequestOptions | UserAgentWebSocketOptions): Promise<Record<string, any>>;
|
|
105
104
|
_formData(values?: Record<string, string | Upload>): FormData;
|
|
106
|
-
_handleRedirect(config: Record<string, any>, res: UserAgentResponse): Promise<UserAgentResponse>;
|
|
105
|
+
_handleRedirect(config: Record<string, any>, base: URL, res: UserAgentResponse): Promise<UserAgentResponse>;
|
|
107
106
|
_requestConfig(method: string, url?: string | URL, options?: UserAgentRequestOptions): Promise<UserAgentResponse>;
|
|
108
107
|
}
|
|
109
108
|
export { UserAgent };
|
package/lib/user-agent.js
CHANGED
|
@@ -1,36 +1,48 @@
|
|
|
1
1
|
import { URL } from 'node:url';
|
|
2
|
-
import { CookieJar } from
|
|
3
|
-
import { HTTPTransport } from
|
|
4
|
-
import { HTTPSTransport } from
|
|
5
|
-
import { WSTransport } from
|
|
2
|
+
import { CookieJar } from "./user-agent/cookie-jar.js";
|
|
3
|
+
import { HTTPTransport } from "./user-agent/transport/http.js";
|
|
4
|
+
import { HTTPSTransport } from "./user-agent/transport/https.js";
|
|
5
|
+
import { WSTransport } from "./user-agent/transport/ws.js";
|
|
6
6
|
import { AsyncHooks } from '@mojojs/util';
|
|
7
|
-
import FormData from 'form-data';
|
|
8
7
|
import * as yaml from 'js-yaml';
|
|
8
|
+
import { lookup } from 'mime-types';
|
|
9
9
|
/**
|
|
10
10
|
* HTTP and WebSocket user-agent.
|
|
11
11
|
*/
|
|
12
12
|
class UserAgent {
|
|
13
|
+
/**
|
|
14
|
+
* Base URL to be used to resolve all relative request URLs with.
|
|
15
|
+
*/
|
|
16
|
+
baseURL;
|
|
17
|
+
/**
|
|
18
|
+
* Cookie jar to use.
|
|
19
|
+
*/
|
|
20
|
+
cookieJar = new CookieJar();
|
|
21
|
+
/**
|
|
22
|
+
* User-agent hooks.
|
|
23
|
+
*/
|
|
24
|
+
hooks = new AsyncHooks();
|
|
25
|
+
/**
|
|
26
|
+
* Transport backend to perform HTTP requests with.
|
|
27
|
+
*/
|
|
28
|
+
httpTransport = new HTTPTransport();
|
|
29
|
+
/**
|
|
30
|
+
* Transport backend to perform HTTPS requests with.
|
|
31
|
+
*/
|
|
32
|
+
httpsTransport = new HTTPSTransport();
|
|
33
|
+
/**
|
|
34
|
+
* Maximum number of redirects to follow, default to `0`.
|
|
35
|
+
*/
|
|
36
|
+
maxRedirects;
|
|
37
|
+
/**
|
|
38
|
+
* Name of user-agent to send with `User-Agent` header.
|
|
39
|
+
*/
|
|
40
|
+
name;
|
|
41
|
+
/**
|
|
42
|
+
* Transport backend to use for WebSocket connections.
|
|
43
|
+
*/
|
|
44
|
+
wsTransport = new WSTransport();
|
|
13
45
|
constructor(options = {}) {
|
|
14
|
-
/**
|
|
15
|
-
* Cookie jar to use.
|
|
16
|
-
*/
|
|
17
|
-
this.cookieJar = new CookieJar();
|
|
18
|
-
/**
|
|
19
|
-
* User-agent hooks.
|
|
20
|
-
*/
|
|
21
|
-
this.hooks = new AsyncHooks();
|
|
22
|
-
/**
|
|
23
|
-
* Transport backend to perform HTTP requests with.
|
|
24
|
-
*/
|
|
25
|
-
this.httpTransport = new HTTPTransport();
|
|
26
|
-
/**
|
|
27
|
-
* Transport backend to perform HTTPS requests with.
|
|
28
|
-
*/
|
|
29
|
-
this.httpsTransport = new HTTPSTransport();
|
|
30
|
-
/**
|
|
31
|
-
* Transport backend to use for WebSocket connections.
|
|
32
|
-
*/
|
|
33
|
-
this.wsTransport = new WSTransport();
|
|
34
46
|
this.baseURL = options.baseURL;
|
|
35
47
|
this.maxRedirects = options.maxRedirects ?? 0;
|
|
36
48
|
this.name = options.name;
|
|
@@ -115,15 +127,14 @@ class UserAgent {
|
|
|
115
127
|
if (this.cookieJar !== null)
|
|
116
128
|
await this.cookieJar.storeCookies(filtered.url, res.headers.getAll('Set-Cookie'));
|
|
117
129
|
if (this.maxRedirects > 0)
|
|
118
|
-
res = await this._handleRedirect(config, res);
|
|
130
|
+
res = await this._handleRedirect(config, filtered.url, res);
|
|
119
131
|
return res;
|
|
120
132
|
}
|
|
121
133
|
/**
|
|
122
134
|
* Open WebSocket connection.
|
|
123
135
|
*/
|
|
124
136
|
async websocket(url, options = {}) {
|
|
125
|
-
|
|
126
|
-
const filtered = await this._filterSharedConfig(options);
|
|
137
|
+
const filtered = await this._filterSharedConfig({ ...options, url });
|
|
127
138
|
await this.hooks.runHook('websocket', this, filtered);
|
|
128
139
|
filtered.url.protocol = filtered.url.protocol === 'https:' ? 'wss:' : 'ws:';
|
|
129
140
|
return await this.wsTransport.connect(filtered);
|
|
@@ -148,17 +159,17 @@ class UserAgent {
|
|
|
148
159
|
filtered.body = new URLSearchParams(filtered.form).toString();
|
|
149
160
|
}
|
|
150
161
|
else if (filtered.formData !== undefined) {
|
|
151
|
-
const
|
|
152
|
-
|
|
153
|
-
filtered.body =
|
|
162
|
+
const multipart = new Response(this._formData(filtered.formData));
|
|
163
|
+
filtered.headers['Content-Type'] = multipart.headers.get('Content-Type');
|
|
164
|
+
filtered.body = Buffer.from(await multipart.arrayBuffer());
|
|
154
165
|
}
|
|
155
166
|
return filtered;
|
|
156
167
|
}
|
|
157
|
-
async _filterSharedConfig(
|
|
158
|
-
|
|
159
|
-
|
|
168
|
+
async _filterSharedConfig(options) {
|
|
169
|
+
// Copy everything that gets modified, so options can be reused for more requests
|
|
170
|
+
const url = new URL(options.url ?? '/', this.baseURL);
|
|
171
|
+
const config = { ...options, url, headers: { ...options.headers } };
|
|
160
172
|
// Auth
|
|
161
|
-
const url = config.url;
|
|
162
173
|
if ((url.username !== '' || url.password !== '') && config.auth === undefined) {
|
|
163
174
|
config.auth = decodeURIComponent(`${url.username}:${url.password}`);
|
|
164
175
|
}
|
|
@@ -170,8 +181,6 @@ class UserAgent {
|
|
|
170
181
|
}
|
|
171
182
|
}
|
|
172
183
|
// Headers
|
|
173
|
-
if (config.headers === undefined)
|
|
174
|
-
config.headers = {};
|
|
175
184
|
if (this.name !== undefined)
|
|
176
185
|
config.headers['User-Agent'] = this.name;
|
|
177
186
|
if (config.headers['Accept-Encoding'] === undefined)
|
|
@@ -190,39 +199,46 @@ class UserAgent {
|
|
|
190
199
|
form.append(name, value);
|
|
191
200
|
}
|
|
192
201
|
else if (typeof value === 'object' && value !== null) {
|
|
193
|
-
form.append(name, value.content, {
|
|
202
|
+
form.append(name, new Blob([value.content], { type: value.type ?? (lookup(value.filename) || 'application/octet-stream') }), value.filename);
|
|
194
203
|
}
|
|
195
204
|
}
|
|
196
205
|
return form;
|
|
197
206
|
}
|
|
198
|
-
async _handleRedirect(config, res) {
|
|
207
|
+
async _handleRedirect(config, base, res) {
|
|
199
208
|
const redirected = config.redirected ?? 0;
|
|
200
209
|
if (redirected >= this.maxRedirects)
|
|
201
210
|
return res;
|
|
202
211
|
const location = res.get('Location');
|
|
203
212
|
if (location === null)
|
|
204
213
|
return res;
|
|
205
|
-
const url = new URL(location,
|
|
214
|
+
const url = new URL(location, base);
|
|
215
|
+
// Credentials must not leak to other hosts (header names are case-insensitive)
|
|
216
|
+
const remove = ['authorization', 'cookie', 'host', 'referer'];
|
|
217
|
+
const headers = { ...config.headers };
|
|
206
218
|
// New followup request
|
|
207
|
-
const remove = ['Authorization', 'Cookie', 'Host', 'Referer'];
|
|
208
219
|
if (res.statusCode === 301 || res.statusCode === 302 || res.statusCode === 303) {
|
|
220
|
+
for (const name of Object.keys(headers)) {
|
|
221
|
+
const lowerCase = name.toLowerCase();
|
|
222
|
+
if (remove.includes(lowerCase) || lowerCase.startsWith('content-'))
|
|
223
|
+
delete headers[name];
|
|
224
|
+
}
|
|
209
225
|
const newConfig = {
|
|
210
|
-
headers
|
|
226
|
+
headers,
|
|
211
227
|
insecure: config.insecure,
|
|
212
228
|
method: res.statusCode === 303 || config.method === 'POST' ? 'GET' : config.method,
|
|
213
229
|
redirected: redirected + 1,
|
|
214
230
|
url
|
|
215
231
|
};
|
|
216
|
-
remove.push(...Object.keys(newConfig.headers).filter(name => name.toLowerCase().startsWith('content-')));
|
|
217
|
-
remove.forEach(name => delete newConfig.headers[name]);
|
|
218
232
|
return this.request(newConfig);
|
|
219
233
|
// Same request again
|
|
220
234
|
}
|
|
221
235
|
else if (res.statusCode === 307 || res.statusCode === 308) {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
236
|
+
for (const name of Object.keys(headers)) {
|
|
237
|
+
if (remove.includes(name.toLowerCase()))
|
|
238
|
+
delete headers[name];
|
|
239
|
+
}
|
|
240
|
+
const sameConfig = { ...config, auth: undefined, headers, query: undefined, redirected: redirected + 1, url };
|
|
241
|
+
return this.request(sameConfig);
|
|
226
242
|
}
|
|
227
243
|
return res;
|
|
228
244
|
}
|
|
@@ -231,4 +247,3 @@ class UserAgent {
|
|
|
231
247
|
}
|
|
232
248
|
}
|
|
233
249
|
export { UserAgent };
|
|
234
|
-
//# sourceMappingURL=user-agent.js.map
|
package/lib/util.d.ts
CHANGED
|
@@ -14,6 +14,19 @@ interface FixOptions {
|
|
|
14
14
|
version?: string;
|
|
15
15
|
}
|
|
16
16
|
export declare const httpStatusMessages: Record<number, string>;
|
|
17
|
+
/**
|
|
18
|
+
* Error with an HTTP status, that `ctx.httpException()` will use for the response instead of `500`.
|
|
19
|
+
* @example
|
|
20
|
+
* // Respond with "418 I'm a Teapot"
|
|
21
|
+
* throw new util.HTTPError(418);
|
|
22
|
+
*/
|
|
23
|
+
export declare class HTTPError extends Error {
|
|
24
|
+
/**
|
|
25
|
+
* HTTP status code.
|
|
26
|
+
*/
|
|
27
|
+
status: number;
|
|
28
|
+
constructor(status: number, message?: string);
|
|
29
|
+
}
|
|
17
30
|
/**
|
|
18
31
|
* Create directory for generator commands.
|
|
19
32
|
*/
|
package/lib/util.js
CHANGED
|
@@ -1,7 +1,15 @@
|
|
|
1
|
+
var __rewriteRelativeImportExtension = (this && this.__rewriteRelativeImportExtension) || function (path, preserveJsx) {
|
|
2
|
+
if (typeof path === "string" && /^\.\.?\//.test(path)) {
|
|
3
|
+
return path.replace(/\.(tsx)$|((?:\.d)?)((?:\.[^./]+?)?)\.([cm]?)ts$/i, function (m, tsx, d, ext, cm) {
|
|
4
|
+
return tsx ? preserveJsx ? ".jsx" : ".js" : d && (!ext || !cm) ? m : (d + ext + "." + cm.toLowerCase() + "js");
|
|
5
|
+
});
|
|
6
|
+
}
|
|
7
|
+
return path;
|
|
8
|
+
};
|
|
1
9
|
import { setTimeout } from 'node:timers/promises';
|
|
10
|
+
import { styleText } from 'node:util';
|
|
2
11
|
import Path from '@mojojs/path';
|
|
3
12
|
import Template from '@mojojs/template';
|
|
4
|
-
import chalk from 'chalk';
|
|
5
13
|
export * from '@mojojs/util';
|
|
6
14
|
// Unmarked codes are from RFC 7231
|
|
7
15
|
export const httpStatusMessages = {
|
|
@@ -69,6 +77,23 @@ export const httpStatusMessages = {
|
|
|
69
77
|
510: 'Not Extended', // RFC 2774
|
|
70
78
|
511: 'Network Authentication Required' // RFC 6585
|
|
71
79
|
};
|
|
80
|
+
/**
|
|
81
|
+
* Error with an HTTP status, that `ctx.httpException()` will use for the response instead of `500`.
|
|
82
|
+
* @example
|
|
83
|
+
* // Respond with "418 I'm a Teapot"
|
|
84
|
+
* throw new util.HTTPError(418);
|
|
85
|
+
*/
|
|
86
|
+
export class HTTPError extends Error {
|
|
87
|
+
/**
|
|
88
|
+
* HTTP status code.
|
|
89
|
+
*/
|
|
90
|
+
status;
|
|
91
|
+
constructor(status, message) {
|
|
92
|
+
super(message ?? httpStatusMessages[status]);
|
|
93
|
+
this.name = 'HTTPError';
|
|
94
|
+
this.status = status;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
72
97
|
/**
|
|
73
98
|
* Create directory for generator commands.
|
|
74
99
|
*/
|
|
@@ -76,10 +101,10 @@ export async function cliCreateDir(path) {
|
|
|
76
101
|
const dir = new Path(process.cwd(), ...path.split('/'));
|
|
77
102
|
const { stdout } = process;
|
|
78
103
|
if ((await dir.exists()) === true) {
|
|
79
|
-
stdout.write(
|
|
104
|
+
stdout.write(styleText('green', ' [exists]') + ` ${dir.toString()}\n`);
|
|
80
105
|
return;
|
|
81
106
|
}
|
|
82
|
-
stdout.write(
|
|
107
|
+
stdout.write(styleText('green', ' [mkdir]') + ` ${dir.toString()}\n`);
|
|
83
108
|
await dir.mkdir({ recursive: true });
|
|
84
109
|
}
|
|
85
110
|
/**
|
|
@@ -89,13 +114,13 @@ export async function cliCreateFile(path, template, values = {}, options = {}) {
|
|
|
89
114
|
const file = new Path(process.cwd(), ...path.split('/'));
|
|
90
115
|
const { stdout } = process;
|
|
91
116
|
if ((await file.exists()) === true) {
|
|
92
|
-
stdout.write(
|
|
117
|
+
stdout.write(styleText('red', ' [exists]') + ` ${file.toString()}\n`);
|
|
93
118
|
return;
|
|
94
119
|
}
|
|
95
|
-
stdout.write(
|
|
120
|
+
stdout.write(styleText('green', ' [write]') + ` ${file.toString()}\n`);
|
|
96
121
|
await file.writeFile(await Template.render(template, values));
|
|
97
122
|
if (options.chmod !== undefined) {
|
|
98
|
-
stdout.write(
|
|
123
|
+
stdout.write(styleText('green', ' [chmod]') + ` ${file.toString()} (${options.chmod.toString(8)})\n`);
|
|
99
124
|
await file.chmod(options.chmod);
|
|
100
125
|
}
|
|
101
126
|
}
|
|
@@ -134,7 +159,7 @@ export async function cliFixPackage(options = {}) {
|
|
|
134
159
|
}
|
|
135
160
|
}
|
|
136
161
|
}
|
|
137
|
-
stdout.write(
|
|
162
|
+
stdout.write(styleText('green', ' [fixed]') + ` ${file.toString()}\n`);
|
|
138
163
|
await file.writeFile(JSON.stringify(pkg, null, 2));
|
|
139
164
|
}
|
|
140
165
|
/**
|
|
@@ -185,14 +210,14 @@ export async function loadModules(dirs) {
|
|
|
185
210
|
if ((await dir.exists()) === false)
|
|
186
211
|
continue;
|
|
187
212
|
for await (const file of dir.list({ recursive: true })) {
|
|
188
|
-
if (
|
|
213
|
+
if (/(?<!\.d)\.m?[jt]s$/.test(file.toString()) === false)
|
|
189
214
|
continue;
|
|
190
|
-
const imports = await import(file.toFileURL().toString());
|
|
215
|
+
const imports = await import(__rewriteRelativeImportExtension(file.toFileURL().toString()));
|
|
191
216
|
const name = dir
|
|
192
217
|
.relative(file)
|
|
193
218
|
.toArray()
|
|
194
219
|
.join('/')
|
|
195
|
-
.replace(/\.m?
|
|
220
|
+
.replace(/\.m?[jt]s$/, '');
|
|
196
221
|
modules[name] = imports.default ?? null;
|
|
197
222
|
}
|
|
198
223
|
}
|
|
@@ -202,4 +227,3 @@ export async function loadModules(dirs) {
|
|
|
202
227
|
* Sleep asynchronously.
|
|
203
228
|
*/
|
|
204
229
|
export const sleep = setTimeout;
|
|
205
|
-
//# sourceMappingURL=util.js.map
|
package/lib/validator/result.js
CHANGED
|
@@ -2,9 +2,16 @@
|
|
|
2
2
|
* Validation result class.
|
|
3
3
|
*/
|
|
4
4
|
export class ValidatorResult {
|
|
5
|
+
/**
|
|
6
|
+
* Validation errors.
|
|
7
|
+
*/
|
|
8
|
+
errors;
|
|
9
|
+
/**
|
|
10
|
+
* Validation result.
|
|
11
|
+
*/
|
|
12
|
+
isValid;
|
|
5
13
|
constructor(isValid, errors) {
|
|
6
14
|
this.isValid = isValid;
|
|
7
15
|
this.errors = errors;
|
|
8
16
|
}
|
|
9
17
|
}
|
|
10
|
-
//# sourceMappingURL=result.js.map
|
package/lib/validator.d.ts
CHANGED
package/lib/validator.js
CHANGED
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import { ValidatorResult } from
|
|
2
|
-
import Ajv from 'ajv';
|
|
1
|
+
import { ValidatorResult } from "./validator/result.js";
|
|
2
|
+
import { Ajv } from 'ajv';
|
|
3
3
|
/**
|
|
4
4
|
* JSON schema validator class.
|
|
5
5
|
*/
|
|
6
6
|
export class Validator {
|
|
7
|
-
|
|
8
|
-
this._ajv = new Ajv({ coerceTypes: 'array' });
|
|
9
|
-
}
|
|
7
|
+
_ajv = new Ajv({ coerceTypes: 'array' });
|
|
10
8
|
/**
|
|
11
9
|
* Add JSON schema.
|
|
12
10
|
*/
|
|
@@ -44,4 +42,3 @@ export class Validator {
|
|
|
44
42
|
};
|
|
45
43
|
}
|
|
46
44
|
}
|
|
47
|
-
//# sourceMappingURL=validator.js.map
|
package/lib/websocket.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { JSONValue, WebSocketBackend } from './types.
|
|
2
|
-
import type { UserAgentResponse } from './user-agent/response.
|
|
1
|
+
import type { JSONValue, WebSocketBackend } from './types.ts';
|
|
2
|
+
import type { UserAgentResponse } from './user-agent/response.ts';
|
|
3
3
|
import EventEmitter from 'node:events';
|
|
4
4
|
interface WebSocketControlEvents {
|
|
5
5
|
close: (this: WebSocket, ...args: any[]) => void;
|
package/lib/websocket.js
CHANGED
|
@@ -3,6 +3,15 @@ import EventEmitter, { on } from 'node:events';
|
|
|
3
3
|
* WebSocket connection class.
|
|
4
4
|
*/
|
|
5
5
|
class WebSocket extends EventEmitter {
|
|
6
|
+
/**
|
|
7
|
+
* WebSocket handshake.
|
|
8
|
+
*/
|
|
9
|
+
handshake;
|
|
10
|
+
/**
|
|
11
|
+
* JSON mode.
|
|
12
|
+
*/
|
|
13
|
+
jsonMode;
|
|
14
|
+
_ws;
|
|
6
15
|
constructor(ws, handshake, options) {
|
|
7
16
|
super({ captureRejections: true });
|
|
8
17
|
this.handshake = handshake;
|
|
@@ -74,4 +83,3 @@ class WebSocket extends EventEmitter {
|
|
|
74
83
|
}
|
|
75
84
|
}
|
|
76
85
|
export { WebSocket };
|
|
77
|
-
//# sourceMappingURL=websocket.js.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mojojs/core",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0",
|
|
4
4
|
"description": "Real-time web framework",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mojojs",
|
|
@@ -23,23 +23,18 @@
|
|
|
23
23
|
"homepage": "https://mojojs.org",
|
|
24
24
|
"scripts": {
|
|
25
25
|
"bench": "npx concurrently -k -s first \"NODE_ENV=production node benchmarks/hello/hello-mojo.js server\" \"npx autocannon -W -c 100 -d 10 -p 15 localhost:3000\"",
|
|
26
|
-
"build": "npx tsc
|
|
27
|
-
"
|
|
28
|
-
"
|
|
29
|
-
"
|
|
30
|
-
"
|
|
31
|
-
"build:node": "npm run build && node",
|
|
32
|
-
"build:test": "npm run build && npm test",
|
|
33
|
-
"build:watch": "npm run build -- --watch",
|
|
34
|
-
"clean": "rm -rf tsconfig.tsbuildinfo test/support/ts/full-app/tsconfig.tsbuildinfo lib test/support/ts/full-app/lib",
|
|
35
|
-
"coverage": "c8 tap --disable-coverage --allow-empty-coverage test/*.js test/*.ts",
|
|
36
|
-
"coverage:ci": "c8 --reporter lcovonly tap --disable-coverage --allow-empty-coverage test/*.js test/*.ts",
|
|
26
|
+
"build": "npx tsc -p tsconfig.json",
|
|
27
|
+
"check": "npx tsc --noEmit -p tsconfig.json && npx tsc -p test/support/ts/full-app",
|
|
28
|
+
"clean": "rm -rf lib",
|
|
29
|
+
"coverage": "tap build && c8 tap --disable-coverage --allow-empty-coverage test/*.js test/*.ts",
|
|
30
|
+
"coverage:ci": "tap build && c8 --reporter lcovonly tap --disable-coverage --allow-empty-coverage test/*.js test/*.ts",
|
|
37
31
|
"lint": "eslint",
|
|
38
32
|
"lint:fix": "npm run lint -- --fix",
|
|
39
|
-
"prepublishOnly": "npm run build",
|
|
33
|
+
"prepublishOnly": "npm run clean && npm run build",
|
|
40
34
|
"publish:minor": "npm version minor && npm publish",
|
|
41
35
|
"publish:patch": "npm version patch && npm publish",
|
|
42
|
-
"test": "tap --disable-coverage --allow-empty-coverage test/*.js test/*.ts"
|
|
36
|
+
"test": "tap build && tap --disable-coverage --allow-empty-coverage test/*.js test/*.ts",
|
|
37
|
+
"check:package": "sh test/support/package/check.sh"
|
|
43
38
|
},
|
|
44
39
|
"exports": "./lib/core.js",
|
|
45
40
|
"types": "./lib/core.d.ts",
|
|
@@ -58,11 +53,6 @@
|
|
|
58
53
|
"@types/js-yaml": "^4.0.3",
|
|
59
54
|
"@types/mime-types": "^3.0.0",
|
|
60
55
|
"@types/node": "^26.0.1",
|
|
61
|
-
"@types/nopt": "^3.0.29",
|
|
62
|
-
"@types/react": "^19.0.0",
|
|
63
|
-
"@types/stack-utils": "^2.0.1",
|
|
64
|
-
"@types/tough-cookie": "^4.0.2",
|
|
65
|
-
"@types/ws": "^8.5.3",
|
|
66
56
|
"autocannon": "^7.3.0",
|
|
67
57
|
"c8": "^12.0.0",
|
|
68
58
|
"concurrently": "^10.0.0",
|
|
@@ -73,29 +63,32 @@
|
|
|
73
63
|
"eslint-plugin-import-x": "^4.16.2",
|
|
74
64
|
"eslint-plugin-prettier": "^5.5.5",
|
|
75
65
|
"globals": "^17.6.0",
|
|
76
|
-
"nodemon": "^3.0.0",
|
|
77
66
|
"prettier": "^3.8.3",
|
|
78
|
-
"tap": "^21.0
|
|
67
|
+
"tap": "^21.8.0",
|
|
79
68
|
"typescript": "^6.0.3",
|
|
80
69
|
"typescript-eslint": "^8.59.2"
|
|
81
70
|
},
|
|
82
71
|
"engines": {
|
|
83
|
-
"node": ">=
|
|
72
|
+
"node": ">= 22.18"
|
|
84
73
|
},
|
|
85
74
|
"dependencies": {
|
|
86
|
-
"@mojojs/dom": "^
|
|
75
|
+
"@mojojs/dom": "^3.0.0",
|
|
87
76
|
"@mojojs/path": "^1.6.0",
|
|
88
77
|
"@mojojs/template": "^2.2.0",
|
|
89
78
|
"@mojojs/util": "^1.6.0",
|
|
79
|
+
"@types/stack-utils": "^2.0.1",
|
|
80
|
+
"@types/ws": "^8.5.3",
|
|
90
81
|
"ajv": "^8.5.0",
|
|
91
82
|
"busboy": "^1.0.0",
|
|
92
|
-
"chalk": "^5.0.0",
|
|
93
|
-
"form-data": "^4.0.0",
|
|
94
83
|
"js-yaml": "^5.2.2",
|
|
95
|
-
"mime-types": "^
|
|
96
|
-
"nopt": "^10.0.0",
|
|
84
|
+
"mime-types": "^3.0.2",
|
|
97
85
|
"stack-utils": "^2.0.3",
|
|
98
|
-
"tough-cookie": "^
|
|
99
|
-
"ws": "^8.
|
|
86
|
+
"tough-cookie": "^6.0.2",
|
|
87
|
+
"ws": "^8.22.0"
|
|
88
|
+
},
|
|
89
|
+
"tap": {
|
|
90
|
+
"plugin": [
|
|
91
|
+
"!@tapjs/typescript"
|
|
92
|
+
]
|
|
100
93
|
}
|
|
101
94
|
}
|
package/lib/app.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
package/lib/body/params.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"params.js","sourceRoot":"","sources":["../../src/body/params.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,UAAU,CAAC;AAEzC;;GAEG;AACH,MAAM,OAAO,MAAO,SAAQ,eAAe;IACzC;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,WAAW;QACT,MAAM,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;QAC5B,KAAK,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,CAAC;YAC3C,IAAI,KAAK,KAAK,EAAE;gBAAE,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC/C,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,MAAM,CAAC,WAAW,CAAC,IAAI,CAAM,CAAC;IACvC,CAAC;CACF"}
|
package/lib/body.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"body.js","sourceRoot":"","sources":["../src/body.ts"],"names":[],"mappings":"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"}
|