@mojojs/core 0.27.0 → 0.28.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/lib/app.d.ts +3 -3
- package/lib/app.js +4 -4
- package/lib/app.js.map +1 -1
- package/lib/cli/get.js +2 -2
- package/lib/cli/get.js.map +1 -1
- package/lib/cli/server.js +32 -9
- package/lib/cli/server.js.map +1 -1
- package/lib/server/request.d.ts +11 -5
- package/lib/server/request.js +8 -8
- package/lib/server/request.js.map +1 -1
- package/lib/server/response.d.ts +6 -2
- package/lib/server/response.js +8 -2
- package/lib/server/response.js.map +1 -1
- package/lib/server.d.ts +19 -7
- package/lib/server.js +30 -6
- package/lib/server.js.map +1 -1
- package/lib/static.js +4 -4
- package/lib/static.js.map +1 -1
- package/lib/types.d.ts +11 -0
- package/lib/user-agent/mock.d.ts +3 -3
- package/lib/user-agent/mock.js +4 -4
- package/lib/user-agent/mock.js.map +1 -1
- package/lib/user-agent/response.d.ts +5 -4
- package/lib/user-agent/response.js +7 -7
- package/lib/user-agent/response.js.map +1 -1
- package/lib/user-agent/test.d.ts +2 -2
- package/lib/user-agent/test.js +3 -3
- package/lib/user-agent/test.js.map +1 -1
- package/lib/user-agent/transport/http.js +15 -2
- package/lib/user-agent/transport/http.js.map +1 -1
- package/lib/user-agent/transport/ws.js +3 -2
- package/lib/user-agent/transport/ws.js.map +1 -1
- package/lib/user-agent.js +3 -3
- package/lib/user-agent.js.map +1 -1
- package/lib/util.d.ts +4 -0
- package/lib/util.js +10 -0
- package/lib/util.js.map +1 -1
- package/package.json +1 -1
- package/lib/mock/request.d.ts +0 -9
- package/lib/mock/request.js +0 -13
- package/lib/mock/request.js.map +0 -1
- package/lib/mock/response.d.ts +0 -7
- package/lib/mock/response.js +0 -7
- package/lib/mock/response.js.map +0 -1
package/lib/app.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Route } from './router/route.js';
|
|
2
|
-
import type { AnyArguments, AppOptions, UserAgentOptions, MojoAction, MojoContext, RouteArguments, TestUserAgentOptions } from './types.js';
|
|
2
|
+
import type { AnyArguments, AppOptions, UserAgentOptions, MojoAction, MojoContext, RouteArguments, ServerOptions, TestUserAgentOptions } from './types.js';
|
|
3
3
|
import { CLI } from './cli.js';
|
|
4
4
|
import { Hooks } from './hooks.js';
|
|
5
5
|
import { Logger } from './logger.js';
|
|
@@ -148,11 +148,11 @@ export declare class App {
|
|
|
148
148
|
/**
|
|
149
149
|
* Create a new mock user agent for application.
|
|
150
150
|
*/
|
|
151
|
-
newMockUserAgent(options?: UserAgentOptions): Promise<MockUserAgent>;
|
|
151
|
+
newMockUserAgent(options?: UserAgentOptions, serverOptions?: ServerOptions): Promise<MockUserAgent>;
|
|
152
152
|
/**
|
|
153
153
|
* Create a new test user agent for application.
|
|
154
154
|
*/
|
|
155
|
-
newTestUserAgent(options?: TestUserAgentOptions): Promise<TestUserAgent>;
|
|
155
|
+
newTestUserAgent(options?: TestUserAgentOptions, serverOptions?: ServerOptions): Promise<TestUserAgent>;
|
|
156
156
|
/**
|
|
157
157
|
* Generate route matching only `OPTIONS` requests.
|
|
158
158
|
*/
|
package/lib/app.js
CHANGED
|
@@ -193,14 +193,14 @@ export class App {
|
|
|
193
193
|
/**
|
|
194
194
|
* Create a new mock user agent for application.
|
|
195
195
|
*/
|
|
196
|
-
async newMockUserAgent(options) {
|
|
197
|
-
return await MockUserAgent.newMockUserAgent(this, options);
|
|
196
|
+
async newMockUserAgent(options, serverOptions) {
|
|
197
|
+
return await MockUserAgent.newMockUserAgent(this, options, serverOptions);
|
|
198
198
|
}
|
|
199
199
|
/**
|
|
200
200
|
* Create a new test user agent for application.
|
|
201
201
|
*/
|
|
202
|
-
async newTestUserAgent(options) {
|
|
203
|
-
return await TestUserAgent.newTestUserAgent(this, options);
|
|
202
|
+
async newTestUserAgent(options, serverOptions) {
|
|
203
|
+
return await TestUserAgent.newTestUserAgent(this, options, serverOptions);
|
|
204
204
|
}
|
|
205
205
|
/**
|
|
206
206
|
* Generate route matching only `OPTIONS` requests.
|
package/lib/app.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
|
package/lib/cli/get.js
CHANGED
|
@@ -18,9 +18,9 @@ export default async function getCommand(app, args) {
|
|
|
18
18
|
if (parsed.verbose === true) {
|
|
19
19
|
const stderr = process.stderr;
|
|
20
20
|
const resVersion = chalk.blue('HTTP') + '/' + chalk.blue(res.httpVersion);
|
|
21
|
-
const
|
|
21
|
+
const statusCode = res.statusCode;
|
|
22
22
|
const statusMessage = chalk.blue(res.statusMessage);
|
|
23
|
-
stderr.write(`${resVersion} ${
|
|
23
|
+
stderr.write(`${resVersion} ${statusCode} ${statusMessage}\n`);
|
|
24
24
|
writeHeaders(res.headers.toArray());
|
|
25
25
|
}
|
|
26
26
|
if (argv.remain[1] !== undefined) {
|
package/lib/cli/get.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/cli/get.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,UAAU,CAAC,GAAY,EAAE,IAAc;IACnE,MAAM,MAAM,GAAG,IAAI,CACjB,EAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAC,EAC/G,EAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAC,EAC7F,IAAI,EACJ,CAAC,CACF,CAAC;IAEF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,MAAM,OAAO,GAAG;QACd,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;QACpC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,KAAK;QAC9B,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG;KAC3B,CAAC;IAEF,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,EAAC,YAAY,EAAE,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC;IACzF,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtC,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE;QAC3B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAE9B,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC1E,MAAM,
|
|
1
|
+
{"version":3,"file":"get.js","sourceRoot":"","sources":["../../src/cli/get.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB;;GAEG;AACH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,UAAU,CAAC,GAAY,EAAE,IAAc;IACnE,MAAM,MAAM,GAAG,IAAI,CACjB,EAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAC,EAC/G,EAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAC,EAC7F,IAAI,EACJ,CAAC,CACF,CAAC;IAEF,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;IACzB,MAAM,OAAO,GAAG;QACd,IAAI,EAAE,MAAM,CAAC,IAAI;QACjB,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,MAAM,CAAC;QACpC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,KAAK;QAC9B,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,GAAG;KAC3B,CAAC;IAEF,MAAM,EAAE,GAAG,MAAM,GAAG,CAAC,gBAAgB,CAAC,EAAC,YAAY,EAAE,MAAM,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC;IACzF,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtC,IAAI,MAAM,CAAC,OAAO,KAAK,IAAI,EAAE;QAC3B,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;QAE9B,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;QAC1E,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAC;QAClC,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QACpD,MAAM,CAAC,KAAK,CAAC,GAAG,UAAU,IAAI,UAAU,IAAI,aAAa,IAAI,CAAC,CAAC;QAC/D,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC;KACrC;IAED,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,SAAS,EAAE;QAChC,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;QAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,IAAI;aACD,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;aACpB,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC;aACxB,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAClB,CAAC;KACH;SAAM;QACL,MAAM,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;KAChC;IAED,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;AAClB,CAAC;AAED,UAAU,CAAC,WAAW,GAAG,sBAAsB,CAAC;AAChD,UAAU,CAAC,KAAK,GAAG;;;;;;;;;;;;;;;;;CAiBlB,CAAC;AAEF,SAAS,YAAY,CAAC,OAAiB,EAAE;IACvC,MAAM,OAAO,GAA2B,EAAE,CAAC;IAC3C,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE;QACvB,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAClC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;KAChC;IACD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,YAAY,CAAC,OAAiB;IACrC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE;QAC1C,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC;KAChE;IACD,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;AACrB,CAAC"}
|
package/lib/cli/server.js
CHANGED
|
@@ -7,16 +7,24 @@ const EVENTS = ['SIGINT', 'SIGTERM', 'SIGUSR2'];
|
|
|
7
7
|
export default async function serverCommand(app, args) {
|
|
8
8
|
const parsed = nopt({
|
|
9
9
|
cluster: Boolean,
|
|
10
|
+
'headers-timeout': Number,
|
|
11
|
+
'keep-alive-timeout': Number,
|
|
10
12
|
level: String,
|
|
11
13
|
listen: [String, Array],
|
|
12
14
|
proxy: Boolean,
|
|
15
|
+
requests: Number,
|
|
16
|
+
'request-timeout': Number,
|
|
13
17
|
workers: Number
|
|
14
|
-
}, { c: '--cluster', L: '--level', l: '--listen', p: '--proxy', w: '--workers' }, args, 1);
|
|
18
|
+
}, { c: '--cluster', L: '--level', l: '--listen', p: '--proxy', r: '--requests', w: '--workers' }, args, 1);
|
|
15
19
|
if (parsed.level !== undefined)
|
|
16
20
|
app.log.level = parsed.level;
|
|
17
21
|
const server = new Server(app, {
|
|
18
22
|
cluster: parsed.cluster,
|
|
23
|
+
headersTimeout: parsed['headers-timeout'],
|
|
24
|
+
keepAliveTimeout: parsed['keep-alive-timeout'],
|
|
19
25
|
listen: parsed.listen,
|
|
26
|
+
maxRequestsPerSocket: parsed.requests,
|
|
27
|
+
requestTimeout: parsed['request-timeout'],
|
|
20
28
|
reverseProxy: parsed.proxy,
|
|
21
29
|
workers: parsed.workers
|
|
22
30
|
});
|
|
@@ -33,6 +41,7 @@ serverCommand.usage = `Usage: APPLICATION server [OPTIONS]
|
|
|
33
41
|
node index.js server
|
|
34
42
|
node index.js server --level trace
|
|
35
43
|
node index.js server --cluster
|
|
44
|
+
node index.js server --requests 10 --keep-alive-timeout 30000
|
|
36
45
|
node index.js server -l http://[::1]:3000
|
|
37
46
|
node index.js server -l http://*:8080 -l http://*:8081
|
|
38
47
|
node index.js server -l 'https://*:443?cert=./server.crt&key=./server.key'
|
|
@@ -41,13 +50,27 @@ serverCommand.usage = `Usage: APPLICATION server [OPTIONS]
|
|
|
41
50
|
NODE_ENV=production node index.js server
|
|
42
51
|
|
|
43
52
|
Options:
|
|
44
|
-
-c, --cluster
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
53
|
+
-c, --cluster Run in cluster mode with multiple processes
|
|
54
|
+
--headers-timeout <ms> Limit the amount of time the parser will
|
|
55
|
+
wait to receive the complete HTTP headers,
|
|
56
|
+
defaults to 60000
|
|
57
|
+
-h, --help Show this summary of available options
|
|
58
|
+
--keep-alive-timeout <ms> Limit the amount of time of inactivity a
|
|
59
|
+
server needs to wait for additional incoming
|
|
60
|
+
data, after it has finished writing the last
|
|
61
|
+
response, before a socket will be destroyed,
|
|
62
|
+
defaults to 5000
|
|
63
|
+
-L, --level <level> Log level for application
|
|
64
|
+
-l, --listen <location> One or more locations you want to listen on,
|
|
65
|
+
defaults to "http://*:3000"
|
|
66
|
+
-p, --proxy Activate reverse proxy support
|
|
67
|
+
-r, --requests <num> Maximum number of requests socket can handle
|
|
68
|
+
before closing keep alive connection,
|
|
69
|
+
defaults to 0
|
|
70
|
+
--request-timeout <ms> Limit the amount of time for receiving the
|
|
71
|
+
entire request from the client, defaults to
|
|
72
|
+
300000
|
|
73
|
+
-w, --workers <num> Number of workers to spawn in cluster mode,
|
|
74
|
+
defaults to the number of available CPUs
|
|
52
75
|
`;
|
|
53
76
|
//# sourceMappingURL=server.js.map
|
package/lib/cli/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/cli/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,MAAM,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AAEhD;;GAEG;AACH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,aAAa,CAAC,GAAY,EAAE,IAAc;IACtE,MAAM,MAAM,GAAG,IAAI,CACjB;QACE,OAAO,EAAE,OAAO;QAChB,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;QACvB,KAAK,EAAE,OAAO;QACd,OAAO,EAAE,MAAM;KAChB,EACD,EAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,WAAW,EAAC,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/cli/server.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,MAAM,EAAC,MAAM,cAAc,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,MAAM,MAAM,GAAG,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;AAEhD;;GAEG;AACH,MAAM,CAAC,OAAO,CAAC,KAAK,UAAU,aAAa,CAAC,GAAY,EAAE,IAAc;IACtE,MAAM,MAAM,GAAG,IAAI,CACjB;QACE,OAAO,EAAE,OAAO;QAChB,iBAAiB,EAAE,MAAM;QACzB,oBAAoB,EAAE,MAAM;QAC5B,KAAK,EAAE,MAAM;QACb,MAAM,EAAE,CAAC,MAAM,EAAE,KAAK,CAAC;QACvB,KAAK,EAAE,OAAO;QACd,QAAQ,EAAE,MAAM;QAChB,iBAAiB,EAAE,MAAM;QACzB,OAAO,EAAE,MAAM;KAChB,EACD,EAAC,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAE,WAAW,EAAC,EAC5F,IAAI,EACJ,CAAC,CACF,CAAC;IAEF,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;QAAE,GAAG,CAAC,GAAG,CAAC,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC;IAE7D,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE;QAC7B,OAAO,EAAE,MAAM,CAAC,OAAO;QACvB,cAAc,EAAE,MAAM,CAAC,iBAAiB,CAAC;QACzC,gBAAgB,EAAE,MAAM,CAAC,oBAAoB,CAAC;QAC9C,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,oBAAoB,EAAE,MAAM,CAAC,QAAQ;QACrC,cAAc,EAAE,MAAM,CAAC,iBAAiB,CAAC;QACzC,YAAY,EAAE,MAAM,CAAC,KAAK;QAC1B,OAAO,EAAE,MAAM,CAAC,OAAO;KACxB,CAAC,CAAC;IAEH,MAAM,QAAQ,GAAG,GAAS,EAAE;QAC1B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,cAAc,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;QACnE,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IACrD,CAAC,CAAC;IACF,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC;IAEvD,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;AACvB,CAAC;AAED,aAAa,CAAC,WAAW,GAAG,oCAAoC,CAAC;AACjE,aAAa,CAAC,KAAK,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCrB,CAAC"}
|
package/lib/server/request.d.ts
CHANGED
|
@@ -17,21 +17,27 @@ export declare class ServerRequest extends Body {
|
|
|
17
17
|
* Request method.
|
|
18
18
|
*/
|
|
19
19
|
method: string | null;
|
|
20
|
+
/**
|
|
21
|
+
* Peer address.
|
|
22
|
+
*/
|
|
23
|
+
remoteAddress: string | null;
|
|
20
24
|
/**
|
|
21
25
|
* Request ID.
|
|
22
26
|
*/
|
|
23
27
|
requestId: string;
|
|
28
|
+
/**
|
|
29
|
+
* Reverse proxy support is activated.
|
|
30
|
+
*/
|
|
31
|
+
reverseProxy: boolean;
|
|
24
32
|
/**
|
|
25
33
|
* Request URL.
|
|
26
34
|
*/
|
|
27
35
|
url: string | null;
|
|
28
36
|
_cookies: Record<string, string> | undefined;
|
|
29
|
-
_ip: string | undefined;
|
|
37
|
+
_ip: string | null | undefined;
|
|
30
38
|
_path: string | null | undefined;
|
|
31
39
|
_protocol: string | undefined;
|
|
32
40
|
_query: Params | undefined;
|
|
33
|
-
_remoteAddress: string | undefined;
|
|
34
|
-
_reverseProxy: boolean;
|
|
35
41
|
_userinfo: string | null | undefined;
|
|
36
42
|
constructor(options: ServerRequestOptions);
|
|
37
43
|
/**
|
|
@@ -43,7 +49,7 @@ export declare class ServerRequest extends Body {
|
|
|
43
49
|
*/
|
|
44
50
|
getCookie(name: string): string | null;
|
|
45
51
|
/**
|
|
46
|
-
* Remote IP address.
|
|
52
|
+
* Remote IP address. Uses he `X-Forwarded-For` header value if reverse proxy support is activated.
|
|
47
53
|
*/
|
|
48
54
|
get ip(): string | null;
|
|
49
55
|
/**
|
|
@@ -51,7 +57,7 @@ export declare class ServerRequest extends Body {
|
|
|
51
57
|
*/
|
|
52
58
|
get path(): string | null;
|
|
53
59
|
/**
|
|
54
|
-
* Request protocol.
|
|
60
|
+
* Request protocol. Uses the `X-Forwarded-Proto` header value if reverse proxy support is activated.
|
|
55
61
|
*/
|
|
56
62
|
get protocol(): string;
|
|
57
63
|
/**
|
package/lib/server/request.js
CHANGED
|
@@ -23,8 +23,8 @@ export class ServerRequest extends Body {
|
|
|
23
23
|
this.isSecure = options.isSecure;
|
|
24
24
|
requestId = (requestId + 1) & 2147483647;
|
|
25
25
|
this.requestId = `${process.pid}-${requestId.toString(36).padStart(6, '0')}`;
|
|
26
|
-
this.
|
|
27
|
-
this.
|
|
26
|
+
this.remoteAddress = options.remoteAddress ?? null;
|
|
27
|
+
this.reverseProxy = options.reverseProxy;
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
30
30
|
* Server base URL.
|
|
@@ -43,12 +43,12 @@ export class ServerRequest extends Body {
|
|
|
43
43
|
return this._cookies[name] ?? null;
|
|
44
44
|
}
|
|
45
45
|
/**
|
|
46
|
-
* Remote IP address.
|
|
46
|
+
* Remote IP address. Uses he `X-Forwarded-For` header value if reverse proxy support is activated.
|
|
47
47
|
*/
|
|
48
48
|
get ip() {
|
|
49
49
|
if (this._ip === undefined) {
|
|
50
|
-
this._ip = this.
|
|
51
|
-
if (this.
|
|
50
|
+
this._ip = this.remoteAddress;
|
|
51
|
+
if (this.reverseProxy === true) {
|
|
52
52
|
const forwarded = this.get('X-Forwarded-For');
|
|
53
53
|
if (forwarded !== null) {
|
|
54
54
|
const match = forwarded.match(/([^,\s]+)$/);
|
|
@@ -57,7 +57,7 @@ export class ServerRequest extends Body {
|
|
|
57
57
|
}
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
|
-
return this._ip
|
|
60
|
+
return this._ip;
|
|
61
61
|
}
|
|
62
62
|
/**
|
|
63
63
|
* Request path.
|
|
@@ -70,12 +70,12 @@ export class ServerRequest extends Body {
|
|
|
70
70
|
return this._path;
|
|
71
71
|
}
|
|
72
72
|
/**
|
|
73
|
-
* Request protocol.
|
|
73
|
+
* Request protocol. Uses the `X-Forwarded-Proto` header value if reverse proxy support is activated.
|
|
74
74
|
*/
|
|
75
75
|
get protocol() {
|
|
76
76
|
if (this._protocol === undefined) {
|
|
77
77
|
this._protocol = this.isSecure ? 'https' : 'http';
|
|
78
|
-
if (this.
|
|
78
|
+
if (this.reverseProxy === true) {
|
|
79
79
|
const forwarded = this.get('X-Forwarded-Proto');
|
|
80
80
|
if (forwarded !== null)
|
|
81
81
|
this._protocol = forwarded;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/server/request.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAC;AAChC,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAC,sBAAsB,EAAC,MAAM,YAAY,CAAC;AAElD,+BAA+B;AAC/B,MAAM,MAAM,GAAG,6DAA6D,CAAC;AAE7E,IAAI,SAAS,GAAG,CAAC,CAAC;AAElB;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,IAAI;
|
|
1
|
+
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/server/request.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAC;AAChC,OAAO,EAAC,MAAM,EAAC,MAAM,mBAAmB,CAAC;AACzC,OAAO,EAAC,WAAW,EAAC,MAAM,qBAAqB,CAAC;AAChD,OAAO,EAAC,sBAAsB,EAAC,MAAM,YAAY,CAAC;AAElD,+BAA+B;AAC/B,MAAM,MAAM,GAAG,6DAA6D,CAAC;AAE7E,IAAI,SAAS,GAAG,CAAC,CAAC;AAElB;;GAEG;AACH,MAAM,OAAO,aAAc,SAAQ,IAAI;IAqCrC,YAAY,OAA6B;QACvC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QARvC,aAAQ,GAAuC,SAAS,CAAC;QACzD,QAAG,GAA8B,SAAS,CAAC;QAC3C,UAAK,GAA8B,SAAS,CAAC;QAC7C,cAAS,GAAuB,SAAS,CAAC;QAC1C,WAAM,GAAuB,SAAS,CAAC;QACvC,cAAS,GAA8B,SAAS,CAAC;QAK/C,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC;QACrC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,IAAI,CAAC;QAE/B,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;QAEjC,SAAS,GAAG,CAAC,SAAS,GAAG,CAAC,CAAC,GAAG,UAAU,CAAC;QACzC,IAAI,CAAC,SAAS,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;QAE7E,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,IAAI,IAAI,CAAC;QACnD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,YAAY,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,GAAG,IAAI,CAAC,QAAQ,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,IAAY;QACpB,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;YAC/B,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAClC,IAAI,CAAC,QAAQ,GAAG,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;SAC5D;QACD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC;IACrC,CAAC;IAED;;OAEG;IACH,IAAI,EAAE;QACJ,IAAI,IAAI,CAAC,GAAG,KAAK,SAAS,EAAE;YAC1B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC;YAC9B,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;gBAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;gBAC9C,IAAI,SAAS,KAAK,IAAI,EAAE;oBACtB,MAAM,KAAK,GAAG,SAAS,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;oBAC5C,IAAI,KAAK,KAAK,IAAI;wBAAE,IAAI,CAAC,GAAG,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;iBACzC;aACF;SACF;QAED,OAAO,IAAI,CAAC,GAAG,CAAC;IAClB,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;YAC5B,MAAM,KAAK,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YAC7C,IAAI,CAAC,KAAK,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SACvE;QACD,OAAO,IAAI,CAAC,KAAK,CAAC;IACpB,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;YAClD,IAAI,IAAI,CAAC,YAAY,KAAK,IAAI,EAAE;gBAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;gBAChD,IAAI,SAAS,KAAK,IAAI;oBAAE,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;aACpD;SACF;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,IAAI,KAAK;QACP,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;YAC7B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,EAAE,CAAC;YAC3B,IAAI,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE;gBAC9B,MAAM,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;gBAChC,IAAI,CAAC,MAAM,GAAG,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,MAAM,EAAE,CAAC;aACpE;iBAAM;gBACL,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,EAAE,CAAC;aAC5B;SACF;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACV,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE;YAChC,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,MAAM,IAAI,GAAG,IAAI,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;YACvC,IAAI,IAAI,KAAK,IAAI,EAAE;gBACjB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBACxC,IAAI,KAAK,KAAK,IAAI;oBAAE,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,QAAQ,EAAE,CAAC;aACjF;SACF;QAED,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;CACF"}
|
package/lib/server/response.d.ts
CHANGED
|
@@ -18,9 +18,13 @@ export declare class ServerResponse extends EventEmitter {
|
|
|
18
18
|
*/
|
|
19
19
|
isSent: boolean;
|
|
20
20
|
/**
|
|
21
|
-
* Response status.
|
|
21
|
+
* Response status code.
|
|
22
22
|
*/
|
|
23
23
|
statusCode: number;
|
|
24
|
+
/**
|
|
25
|
+
* Response status message.
|
|
26
|
+
*/
|
|
27
|
+
statusMessage: string | null;
|
|
24
28
|
_ctx: WeakRef<Context> | undefined;
|
|
25
29
|
_sendResponse: SendResponse;
|
|
26
30
|
constructor(sendResponse: SendResponse);
|
|
@@ -51,7 +55,7 @@ export declare class ServerResponse extends EventEmitter {
|
|
|
51
55
|
/**
|
|
52
56
|
* Set response status.
|
|
53
57
|
*/
|
|
54
|
-
status(code: number): this;
|
|
58
|
+
status(code: number, message?: string): this;
|
|
55
59
|
/**
|
|
56
60
|
* Set response content type.
|
|
57
61
|
*/
|
package/lib/server/response.js
CHANGED
|
@@ -16,9 +16,13 @@ export class ServerResponse extends EventEmitter {
|
|
|
16
16
|
*/
|
|
17
17
|
this.isSent = false;
|
|
18
18
|
/**
|
|
19
|
-
* Response status.
|
|
19
|
+
* Response status code.
|
|
20
20
|
*/
|
|
21
21
|
this.statusCode = 200;
|
|
22
|
+
/**
|
|
23
|
+
* Response status message.
|
|
24
|
+
*/
|
|
25
|
+
this.statusMessage = null;
|
|
22
26
|
this._ctx = undefined;
|
|
23
27
|
this._sendResponse = sendResponse;
|
|
24
28
|
}
|
|
@@ -76,8 +80,10 @@ export class ServerResponse extends EventEmitter {
|
|
|
76
80
|
/**
|
|
77
81
|
* Set response status.
|
|
78
82
|
*/
|
|
79
|
-
status(code) {
|
|
83
|
+
status(code, message) {
|
|
80
84
|
this.statusCode = code;
|
|
85
|
+
if (message !== undefined)
|
|
86
|
+
this.statusMessage = message;
|
|
81
87
|
return this;
|
|
82
88
|
}
|
|
83
89
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/server/response.ts"],"names":[],"mappings":"AAGA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AACtC,OAAO,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAI5C;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,YAAY;
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/server/response.ts"],"names":[],"mappings":"AAGA,OAAO,YAAY,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAC,OAAO,EAAC,MAAM,eAAe,CAAC;AACtC,OAAO,EAAC,eAAe,EAAC,MAAM,aAAa,CAAC;AAI5C;;GAEG;AACH,MAAM,OAAO,cAAe,SAAQ,YAAY;IAqB9C,YAAY,YAA0B;QACpC,KAAK,EAAE,CAAC;QArBV;;WAEG;QACH,YAAO,GAAG,IAAI,OAAO,EAAE,CAAC;QACxB;;WAEG;QACH,WAAM,GAAG,KAAK,CAAC;QACf;;WAEG;QACH,eAAU,GAAG,GAAG,CAAC;QACjB;;WAEG;QACH,kBAAa,GAAkB,IAAI,CAAC;QAEpC,SAAI,GAAiC,SAAS,CAAC;QAK7C,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAY,EAAE,KAAa;QAChC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACjC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,GAAY;QACtB,IAAI,CAAC,IAAI,GAAG,IAAI,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,GAAW;QAChB,OAAO,IAAI,CAAC,GAAG,CAAC,gBAAgB,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CAAC,IAA+B;QACxC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QAEnB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC;QACzB,IAAI,MAAM,KAAK,SAAS;YAAE,OAAO;QACjC,MAAM,GAAG,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC;QAC3B,IAAI,GAAG,KAAK,SAAS;YAAE,OAAO;QAE9B,MAAM,GAAG,GAAG,GAAG,CAAC,GAAG,CAAC;QACpB,MAAM,OAAO,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,EAAE,IAAI,CAAC,CAAC;QAClE,IAAI,OAAO,KAAK,SAAS;YAAE,IAAI,GAAG,OAAO,CAAC;QAE1C,IAAI,GAAG,CAAC,eAAe,KAAK,IAAI;YAAE,MAAM,GAAG,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;QAEpF,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,IAAY,EAAE,KAAa;QAC7B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,IAAY,EAAE,KAAa,EAAE,OAAsB;QAC3D,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAC1E,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,IAAY,EAAE,OAAgB;QACnC,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACvB,IAAI,OAAO,KAAK,SAAS;YAAE,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC;QACxD,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,IAAI,CAAC,IAAY;QACf,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,CAAC;IACxC,CAAC;CACF"}
|
package/lib/server.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import type { App } from './app.js';
|
|
3
|
+
import type { ServerOptions } from './types.js';
|
|
3
4
|
import type { Socket } from 'net';
|
|
4
5
|
import http from 'http';
|
|
5
6
|
import https from 'https';
|
|
@@ -7,13 +8,6 @@ import { URL } from 'url';
|
|
|
7
8
|
import { ServerRequest } from './server/request.js';
|
|
8
9
|
import { WebSocketServer } from 'ws';
|
|
9
10
|
declare type ListenArgs = any[];
|
|
10
|
-
interface ServerOptions {
|
|
11
|
-
cluster?: boolean;
|
|
12
|
-
listen?: string[];
|
|
13
|
-
quiet?: boolean;
|
|
14
|
-
reverseProxy?: boolean;
|
|
15
|
-
workers?: number;
|
|
16
|
-
}
|
|
17
11
|
/**
|
|
18
12
|
* Server class.
|
|
19
13
|
*/
|
|
@@ -22,6 +16,24 @@ export declare class Server {
|
|
|
22
16
|
* Application this server handles.
|
|
23
17
|
*/
|
|
24
18
|
app: App;
|
|
19
|
+
/**
|
|
20
|
+
* Limit the amount of time the parser will wait to receive the complete HTTP headers, defaults to `60000`
|
|
21
|
+
* (60 seconds).
|
|
22
|
+
*/
|
|
23
|
+
headersTimeout: number | undefined;
|
|
24
|
+
/**
|
|
25
|
+
* Limit the amount of time of inactivity a server needs to wait for additional incoming data, after it has finished
|
|
26
|
+
* writing the last response, before a socket will be destroyed, defaults to `5000` (5 seconds).
|
|
27
|
+
*/
|
|
28
|
+
keepAliveTimeout: number | undefined;
|
|
29
|
+
/**
|
|
30
|
+
* Maximum number of requests socket can handle before closing keep alive connection, defaults to `0`.
|
|
31
|
+
*/
|
|
32
|
+
maxRequestsPerSocket: number | undefined;
|
|
33
|
+
/**
|
|
34
|
+
* Limit the amount of time for receiving the entire request from the client, defaults to `300000` (300 seconds).
|
|
35
|
+
*/
|
|
36
|
+
requestTimeout: number | undefined;
|
|
25
37
|
/**
|
|
26
38
|
* Reverse proxy mode.
|
|
27
39
|
*/
|
package/lib/server.js
CHANGED
|
@@ -6,6 +6,7 @@ import { Stream } from 'stream';
|
|
|
6
6
|
import { URL } from 'url';
|
|
7
7
|
import { ServerRequest } from './server/request.js';
|
|
8
8
|
import { ServerResponse } from './server/response.js';
|
|
9
|
+
import { termEscape } from './util.js';
|
|
9
10
|
import { WebSocket } from './websocket.js';
|
|
10
11
|
import Path from '@mojojs/path';
|
|
11
12
|
import { WebSocketServer } from 'ws';
|
|
@@ -20,6 +21,10 @@ export class Server {
|
|
|
20
21
|
this.urls = [];
|
|
21
22
|
this._servers = [];
|
|
22
23
|
this.app = app;
|
|
24
|
+
this.headersTimeout = options.headersTimeout;
|
|
25
|
+
this.keepAliveTimeout = options.keepAliveTimeout;
|
|
26
|
+
this.maxRequestsPerSocket = options.maxRequestsPerSocket;
|
|
27
|
+
this.requestTimeout = options.requestTimeout;
|
|
23
28
|
this.reverseProxy = options.reverseProxy ?? false;
|
|
24
29
|
this._cluster = options.cluster ?? false;
|
|
25
30
|
this._listen = options.listen ?? ['http://*:3000'];
|
|
@@ -84,14 +89,22 @@ export class Server {
|
|
|
84
89
|
const wss = new WebSocketServer({ noServer: true });
|
|
85
90
|
const server = (isHttps ? https : http).createServer(options, this._handleRequest.bind(this));
|
|
86
91
|
this._servers.push(server);
|
|
92
|
+
if (this.maxRequestsPerSocket !== undefined)
|
|
93
|
+
server.maxRequestsPerSocket = this.maxRequestsPerSocket;
|
|
94
|
+
if (this.headersTimeout !== undefined)
|
|
95
|
+
server.headersTimeout = this.headersTimeout;
|
|
96
|
+
if (this.keepAliveTimeout !== undefined)
|
|
97
|
+
server.keepAliveTimeout = this.keepAliveTimeout;
|
|
98
|
+
if (this.requestTimeout !== undefined)
|
|
99
|
+
server.requestTimeout = this.requestTimeout;
|
|
87
100
|
server.on('upgrade', this._handleUpgrade.bind(this, wss));
|
|
88
101
|
if (process.env.MOJO_SERVER_DEBUG === '1') {
|
|
89
|
-
server.on('connection', socket => {
|
|
102
|
+
server.on('connection', (socket) => {
|
|
90
103
|
const stderr = process.stderr;
|
|
91
|
-
socket.on('data', (chunk) => stderr.write(`-- Server <<< Client\n${chunk}`));
|
|
104
|
+
socket.on('data', (chunk) => stderr.write(termEscape(`-- Server <<< Client\n${chunk}`)));
|
|
92
105
|
const write = socket.write;
|
|
93
106
|
socket.write = (chunk, cb) => {
|
|
94
|
-
stderr.write(`-- Server >>> Client\n${chunk}`);
|
|
107
|
+
stderr.write(termEscape(`-- Server >>> Client\n${chunk}`));
|
|
95
108
|
return write.apply(socket, [chunk, cb]);
|
|
96
109
|
};
|
|
97
110
|
});
|
|
@@ -161,18 +174,29 @@ export class Server {
|
|
|
161
174
|
});
|
|
162
175
|
}
|
|
163
176
|
}
|
|
177
|
+
function _sendHeaders(res, raw) {
|
|
178
|
+
const statusCode = res.statusCode;
|
|
179
|
+
const statusMessage = res.statusMessage;
|
|
180
|
+
const headers = res.headers.toArray();
|
|
181
|
+
if (statusMessage === null) {
|
|
182
|
+
raw.writeHead(statusCode, headers);
|
|
183
|
+
}
|
|
184
|
+
else {
|
|
185
|
+
raw.writeHead(statusCode, statusMessage, headers);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
164
188
|
function _sendResponse(res, body, raw) {
|
|
165
189
|
if (typeof body === 'string' || Buffer.isBuffer(body)) {
|
|
166
190
|
res.length(Buffer.byteLength(body));
|
|
167
|
-
|
|
191
|
+
_sendHeaders(res, raw);
|
|
168
192
|
raw.end(body);
|
|
169
193
|
}
|
|
170
194
|
else if (body instanceof Stream) {
|
|
171
|
-
|
|
195
|
+
_sendHeaders(res, raw);
|
|
172
196
|
body.pipe(raw);
|
|
173
197
|
}
|
|
174
198
|
else {
|
|
175
|
-
|
|
199
|
+
_sendHeaders(res, raw);
|
|
176
200
|
raw.end();
|
|
177
201
|
}
|
|
178
202
|
}
|
package/lib/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"
|
|
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"}
|
package/lib/static.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import crypto from 'crypto';
|
|
2
|
-
import path from 'path';
|
|
3
2
|
import Path from '@mojojs/path';
|
|
4
3
|
/**
|
|
5
4
|
* Static file server class.
|
|
@@ -26,11 +25,12 @@ export class Static {
|
|
|
26
25
|
const method = req.method;
|
|
27
26
|
if (method !== 'GET' && method !== 'HEAD')
|
|
28
27
|
return false;
|
|
29
|
-
const relative = unsafePath.replace(this.prefix, '').split('/')
|
|
30
|
-
|
|
28
|
+
const relative = new Path(...unsafePath.replace(this.prefix, '').split('/'));
|
|
29
|
+
const relativePath = relative.toString();
|
|
30
|
+
if (relativePath !== relative.normalize().toString() || relativePath.startsWith('..'))
|
|
31
31
|
return false;
|
|
32
32
|
for (const dir of this.publicPaths) {
|
|
33
|
-
const file = new Path(dir,
|
|
33
|
+
const file = new Path(dir, relativePath);
|
|
34
34
|
if ((await file.isReadable()) !== true || (await file.stat()).isDirectory() === true)
|
|
35
35
|
continue;
|
|
36
36
|
await this.serveFile(ctx, file);
|
package/lib/static.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"static.js","sourceRoot":"","sources":["../src/static.ts"],"names":[],"mappings":"AACA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"static.js","sourceRoot":"","sources":["../src/static.ts"],"names":[],"mappings":"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"}
|
package/lib/types.d.ts
CHANGED
|
@@ -73,6 +73,17 @@ export interface RenderOptions {
|
|
|
73
73
|
view?: string;
|
|
74
74
|
[key: string]: any;
|
|
75
75
|
}
|
|
76
|
+
export interface ServerOptions {
|
|
77
|
+
cluster?: boolean;
|
|
78
|
+
headersTimeout?: number;
|
|
79
|
+
keepAliveTimeout?: number;
|
|
80
|
+
listen?: string[];
|
|
81
|
+
maxRequestsPerSocket?: number;
|
|
82
|
+
quiet?: boolean;
|
|
83
|
+
requestTimeout?: number;
|
|
84
|
+
reverseProxy?: boolean;
|
|
85
|
+
workers?: number;
|
|
86
|
+
}
|
|
76
87
|
export interface ServerRequestOptions {
|
|
77
88
|
body: Readable;
|
|
78
89
|
headers: string[];
|
package/lib/user-agent/mock.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { App } from '../app.js';
|
|
2
|
-
import type { UserAgentOptions } from '../types.js';
|
|
2
|
+
import type { ServerOptions, UserAgentOptions } from '../types.js';
|
|
3
3
|
import { Server } from '../server.js';
|
|
4
4
|
import { UserAgent } from '../user-agent.js';
|
|
5
5
|
/**
|
|
@@ -14,11 +14,11 @@ export declare class MockUserAgent extends UserAgent {
|
|
|
14
14
|
/**
|
|
15
15
|
* Create a new mock user agent.
|
|
16
16
|
*/
|
|
17
|
-
static newMockUserAgent(app: App, options?: UserAgentOptions): Promise<MockUserAgent>;
|
|
17
|
+
static newMockUserAgent(app: App, options?: UserAgentOptions, serverOptions?: ServerOptions): Promise<MockUserAgent>;
|
|
18
18
|
/**
|
|
19
19
|
* Start mock server.
|
|
20
20
|
*/
|
|
21
|
-
start(app: App): Promise<this>;
|
|
21
|
+
start(app: App, options?: ServerOptions): Promise<this>;
|
|
22
22
|
/**
|
|
23
23
|
* Stop mock server.
|
|
24
24
|
*/
|
package/lib/user-agent/mock.js
CHANGED
|
@@ -15,14 +15,14 @@ export class MockUserAgent extends UserAgent {
|
|
|
15
15
|
/**
|
|
16
16
|
* Create a new mock user agent.
|
|
17
17
|
*/
|
|
18
|
-
static async newMockUserAgent(app, options) {
|
|
19
|
-
return await new MockUserAgent(options).start(app);
|
|
18
|
+
static async newMockUserAgent(app, options, serverOptions) {
|
|
19
|
+
return await new MockUserAgent(options).start(app, serverOptions);
|
|
20
20
|
}
|
|
21
21
|
/**
|
|
22
22
|
* Start mock server.
|
|
23
23
|
*/
|
|
24
|
-
async start(app) {
|
|
25
|
-
const server = (this.server = new Server(app, { listen: ['http://*'], quiet: true }));
|
|
24
|
+
async start(app, options = {}) {
|
|
25
|
+
const server = (this.server = new Server(app, { ...options, listen: ['http://*'], quiet: true }));
|
|
26
26
|
await server.start();
|
|
27
27
|
if (this.baseURL === undefined)
|
|
28
28
|
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,
|
|
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,10 +1,11 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import type {
|
|
2
|
+
import type { Readable } from 'stream';
|
|
3
3
|
import { Body } from '../body.js';
|
|
4
4
|
interface UserAgentResponseOptions {
|
|
5
|
+
body: Readable;
|
|
5
6
|
headers: string[];
|
|
6
7
|
httpVersion: string;
|
|
7
|
-
|
|
8
|
+
statusCode: number;
|
|
8
9
|
statusMessage: string;
|
|
9
10
|
}
|
|
10
11
|
/**
|
|
@@ -18,12 +19,12 @@ export declare class UserAgentResponse extends Body {
|
|
|
18
19
|
/**
|
|
19
20
|
* Response status code.
|
|
20
21
|
*/
|
|
21
|
-
|
|
22
|
+
statusCode: number;
|
|
22
23
|
/**
|
|
23
24
|
* Response status message.
|
|
24
25
|
*/
|
|
25
26
|
statusMessage: string;
|
|
26
|
-
constructor(
|
|
27
|
+
constructor(options: UserAgentResponseOptions);
|
|
27
28
|
/**
|
|
28
29
|
* Check if response has a `4xx` response status code.
|
|
29
30
|
*/
|
|
@@ -3,17 +3,17 @@ import { Body } from '../body.js';
|
|
|
3
3
|
* User agent response class.
|
|
4
4
|
*/
|
|
5
5
|
export class UserAgentResponse extends Body {
|
|
6
|
-
constructor(
|
|
7
|
-
super(options.headers,
|
|
6
|
+
constructor(options) {
|
|
7
|
+
super(options.headers, options.body);
|
|
8
8
|
this.httpVersion = options.httpVersion;
|
|
9
|
-
this.
|
|
9
|
+
this.statusCode = options.statusCode;
|
|
10
10
|
this.statusMessage = options.statusMessage;
|
|
11
11
|
}
|
|
12
12
|
/**
|
|
13
13
|
* Check if response has a `4xx` response status code.
|
|
14
14
|
*/
|
|
15
15
|
get isClientError() {
|
|
16
|
-
const statusCode = this.
|
|
16
|
+
const statusCode = this.statusCode;
|
|
17
17
|
return statusCode >= 400 && statusCode <= 499;
|
|
18
18
|
}
|
|
19
19
|
/**
|
|
@@ -26,21 +26,21 @@ export class UserAgentResponse extends Body {
|
|
|
26
26
|
* Check if response has a `3xx` response status code.
|
|
27
27
|
*/
|
|
28
28
|
get isRedirect() {
|
|
29
|
-
const statusCode = this.
|
|
29
|
+
const statusCode = this.statusCode;
|
|
30
30
|
return statusCode >= 300 && statusCode <= 399;
|
|
31
31
|
}
|
|
32
32
|
/**
|
|
33
33
|
* Check if response has a `5xx` response status code.
|
|
34
34
|
*/
|
|
35
35
|
get isServerError() {
|
|
36
|
-
const statusCode = this.
|
|
36
|
+
const statusCode = this.statusCode;
|
|
37
37
|
return statusCode >= 500 && statusCode <= 599;
|
|
38
38
|
}
|
|
39
39
|
/**
|
|
40
40
|
* Check if response has a `2xx` response status code.
|
|
41
41
|
*/
|
|
42
42
|
get isSuccess() {
|
|
43
|
-
const statusCode = this.
|
|
43
|
+
const statusCode = this.statusCode;
|
|
44
44
|
return statusCode >= 200 && statusCode <= 299;
|
|
45
45
|
}
|
|
46
46
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/user-agent/response.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/user-agent/response.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,IAAI,EAAC,MAAM,YAAY,CAAC;AAUhC;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,IAAI;IAczC,YAAY,OAAiC;QAC3C,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;QACrC,IAAI,CAAC,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,UAAU,CAAC;QACrC,IAAI,CAAC,aAAa,GAAG,OAAO,CAAC,aAAa,CAAC;IAC7C,CAAC;IAED;;OAEG;IACH,IAAI,aAAa;QACf,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,OAAO,UAAU,IAAI,GAAG,IAAI,UAAU,IAAI,GAAG,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,aAAa,CAAC;IAClD,CAAC;IAED;;OAEG;IACH,IAAI,UAAU;QACZ,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,OAAO,UAAU,IAAI,GAAG,IAAI,UAAU,IAAI,GAAG,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,IAAI,aAAa;QACf,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,OAAO,UAAU,IAAI,GAAG,IAAI,UAAU,IAAI,GAAG,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,MAAM,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC;QACnC,OAAO,UAAU,IAAI,GAAG,IAAI,UAAU,IAAI,GAAG,CAAC;IAChD,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;IAClC,CAAC;CACF"}
|
package/lib/user-agent/test.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
/// <reference types="tap" />
|
|
3
3
|
import type { App } from '../app.js';
|
|
4
|
-
import type { JSONValue, TestUserAgentOptions, UserAgentRequestOptions, UserAgentWebSocketOptions } from '../types.js';
|
|
4
|
+
import type { JSONValue, ServerOptions, TestUserAgentOptions, UserAgentRequestOptions, UserAgentWebSocketOptions } from '../types.js';
|
|
5
5
|
import type { WebSocket } from '../websocket.js';
|
|
6
6
|
import type { UserAgentResponse } from './response.js';
|
|
7
7
|
import type { URL } from 'url';
|
|
@@ -110,7 +110,7 @@ export declare class TestUserAgent extends MockUserAgent {
|
|
|
110
110
|
/**
|
|
111
111
|
* Create a new test user agent.
|
|
112
112
|
*/
|
|
113
|
-
static newTestUserAgent(app: App, options?: TestUserAgentOptions): Promise<TestUserAgent>;
|
|
113
|
+
static newTestUserAgent(app: App, options?: TestUserAgentOptions, serverOptions?: ServerOptions): Promise<TestUserAgent>;
|
|
114
114
|
/**
|
|
115
115
|
* Perform a `OPTIONS` request and check for transport errors.
|
|
116
116
|
*/
|
package/lib/user-agent/test.js
CHANGED
|
@@ -175,9 +175,9 @@ export class TestUserAgent extends MockUserAgent {
|
|
|
175
175
|
/**
|
|
176
176
|
* Create a new test user agent.
|
|
177
177
|
*/
|
|
178
|
-
static async newTestUserAgent(app, options) {
|
|
178
|
+
static async newTestUserAgent(app, options, serverOptions) {
|
|
179
179
|
app.exceptionFormat = 'txt';
|
|
180
|
-
return await new TestUserAgent(options).start(app);
|
|
180
|
+
return await new TestUserAgent(options).start(app, serverOptions);
|
|
181
181
|
}
|
|
182
182
|
/**
|
|
183
183
|
* Perform a `OPTIONS` request and check for transport errors.
|
|
@@ -223,7 +223,7 @@ export class TestUserAgent extends MockUserAgent {
|
|
|
223
223
|
* Check response status for exact match.
|
|
224
224
|
*/
|
|
225
225
|
statusIs(status) {
|
|
226
|
-
this.assert('equal', [this.res.
|
|
226
|
+
this.assert('equal', [this.res.statusCode, status], `response status is ${status}`, this.statusIs);
|
|
227
227
|
return this;
|
|
228
228
|
}
|
|
229
229
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/user-agent/test.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"test.js","sourceRoot":"","sources":["../../src/user-agent/test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import http from 'http';
|
|
2
2
|
import Stream from 'stream';
|
|
3
|
+
import { termEscape } from '../../util.js';
|
|
3
4
|
import { UserAgentResponse } from '../response.js';
|
|
4
5
|
/**
|
|
5
6
|
* HTTP transport class.
|
|
@@ -24,15 +25,27 @@ export class HTTPTransport {
|
|
|
24
25
|
const options = this._prepareOptions(config);
|
|
25
26
|
return await new Promise((resolve, reject) => {
|
|
26
27
|
const req = this._sendRequest(config.url, options, res => {
|
|
27
|
-
resolve(new UserAgentResponse(
|
|
28
|
+
resolve(new UserAgentResponse({
|
|
29
|
+
body: res,
|
|
28
30
|
headers: res.rawHeaders,
|
|
29
31
|
httpVersion: res.httpVersion,
|
|
30
|
-
|
|
32
|
+
statusCode: res.statusCode ?? 200,
|
|
31
33
|
statusMessage: res.statusMessage ?? 'OK'
|
|
32
34
|
}));
|
|
33
35
|
});
|
|
34
36
|
req.once('error', reject);
|
|
35
37
|
req.once('close', reject);
|
|
38
|
+
if (process.env.MOJO_CLIENT_DEBUG === '1') {
|
|
39
|
+
req.on('socket', (socket) => {
|
|
40
|
+
const stderr = process.stderr;
|
|
41
|
+
socket.on('data', (chunk) => stderr.write(termEscape(`-- Client <<< Server\n${chunk}`)));
|
|
42
|
+
const write = socket.write;
|
|
43
|
+
socket.write = (chunk, cb) => {
|
|
44
|
+
stderr.write(termEscape(`-- Client >>> Server\n${chunk}`));
|
|
45
|
+
return write.apply(socket, [chunk, cb]);
|
|
46
|
+
};
|
|
47
|
+
});
|
|
48
|
+
}
|
|
36
49
|
if (config.body instanceof Buffer) {
|
|
37
50
|
req.end(config.body);
|
|
38
51
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/user-agent/transport/http.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../../src/user-agent/transport/http.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,10 +14,11 @@ export class WSTransport {
|
|
|
14
14
|
let handshake;
|
|
15
15
|
let socket;
|
|
16
16
|
ws.on('upgrade', res => {
|
|
17
|
-
handshake = new UserAgentResponse(
|
|
17
|
+
handshake = new UserAgentResponse({
|
|
18
|
+
body: res,
|
|
18
19
|
headers: res.rawHeaders,
|
|
19
20
|
httpVersion: res.httpVersion,
|
|
20
|
-
|
|
21
|
+
statusCode: res.statusCode ?? 200,
|
|
21
22
|
statusMessage: res.statusMessage ?? 'OK'
|
|
22
23
|
});
|
|
23
24
|
socket = res.socket;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ws.js","sourceRoot":"","sources":["../../../src/user-agent/transport/ws.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAC,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB;;GAEG;AACH,MAAM,OAAO,WAAW;IACtB;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,MAAiC;QAC7C,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE,EAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAC,CAAC,CAAC;QACjF,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,SAA4B,CAAC;YACjC,IAAI,MAAc,CAAC;YAEnB,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE;gBACrB,SAAS,GAAG,IAAI,iBAAiB,CAAC,
|
|
1
|
+
{"version":3,"file":"ws.js","sourceRoot":"","sources":["../../../src/user-agent/transport/ws.ts"],"names":[],"mappings":"AAEA,OAAO,EAAC,SAAS,EAAC,MAAM,oBAAoB,CAAC;AAC7C,OAAO,EAAC,iBAAiB,EAAC,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAE,MAAM,IAAI,CAAC;AAEpB;;GAEG;AACH,MAAM,OAAO,WAAW;IACtB;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,MAAiC;QAC7C,MAAM,EAAE,GAAG,IAAI,EAAE,CAAC,MAAM,CAAC,GAAG,IAAI,EAAE,EAAE,MAAM,CAAC,SAAS,EAAE,EAAC,OAAO,EAAE,MAAM,CAAC,OAAO,EAAC,CAAC,CAAC;QACjF,OAAO,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,IAAI,SAA4B,CAAC;YACjC,IAAI,MAAc,CAAC;YAEnB,EAAE,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,CAAC,EAAE;gBACrB,SAAS,GAAG,IAAI,iBAAiB,CAAC;oBAChC,IAAI,EAAE,GAAG;oBACT,OAAO,EAAE,GAAG,CAAC,UAAU;oBACvB,WAAW,EAAE,GAAG,CAAC,WAAW;oBAC5B,UAAU,EAAE,GAAG,CAAC,UAAU,IAAI,GAAG;oBACjC,aAAa,EAAE,GAAG,CAAC,aAAa,IAAI,IAAI;iBACzC,CAAC,CAAC;gBACH,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC;YACtB,CAAC,CAAC,CAAC;YACH,EAAE,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;YAEvB,EAAE,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;gBACjB,8FAA8F;gBAC9F,MAAM,CAAC,KAAK,EAAE,CAAC;gBACf,cAAc,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;gBACtC,OAAO,CAAC,IAAI,SAAS,CAAC,EAAE,EAAE,SAAS,EAAE,EAAC,QAAQ,EAAE,MAAM,CAAC,IAAI,IAAI,KAAK,EAAC,CAAC,CAAC,CAAC;YAC1E,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;CACF"}
|
package/lib/user-agent.js
CHANGED
|
@@ -196,11 +196,11 @@ class UserAgent extends EventEmitter {
|
|
|
196
196
|
const url = new URL(location, config.url);
|
|
197
197
|
// New followup request
|
|
198
198
|
const remove = ['Authorization', 'Cookie', 'Host', 'Referer'];
|
|
199
|
-
if (res.
|
|
199
|
+
if (res.statusCode === 301 || res.statusCode === 302 || res.statusCode === 303) {
|
|
200
200
|
const newConfig = {
|
|
201
201
|
headers: config.headers,
|
|
202
202
|
insecure: config.insecure,
|
|
203
|
-
method: res.
|
|
203
|
+
method: res.statusCode === 303 || config.method === 'POST' ? 'GET' : config.method,
|
|
204
204
|
redirected: redirected + 1,
|
|
205
205
|
url
|
|
206
206
|
};
|
|
@@ -209,7 +209,7 @@ class UserAgent extends EventEmitter {
|
|
|
209
209
|
return this.request(newConfig);
|
|
210
210
|
// Same request again
|
|
211
211
|
}
|
|
212
|
-
else if (res.
|
|
212
|
+
else if (res.statusCode === 307 || res.statusCode === 308) {
|
|
213
213
|
config.url = url;
|
|
214
214
|
config.redirected = redirected + 1;
|
|
215
215
|
remove.forEach(name => delete config.headers[name]);
|
package/lib/user-agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-agent.js","sourceRoot":"","sources":["../src/user-agent.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"user-agent.js","sourceRoot":"","sources":["../src/user-agent.ts"],"names":[],"mappings":"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"}
|
package/lib/util.d.ts
CHANGED
|
@@ -58,3 +58,7 @@ export declare const sleep: typeof setTimeout;
|
|
|
58
58
|
* Tablify data structure.
|
|
59
59
|
*/
|
|
60
60
|
export declare function tablify(rows?: string[][]): string;
|
|
61
|
+
/**
|
|
62
|
+
* Escape all POSIX control characters except for `\n`.
|
|
63
|
+
*/
|
|
64
|
+
export declare function termEscape(value: string): string;
|
package/lib/util.js
CHANGED
|
@@ -186,4 +186,14 @@ export function tablify(rows = []) {
|
|
|
186
186
|
const lines = table.map(row => row.map((col, i) => (i === row.length - 1 ? col : col.padEnd(spec[i]))).join(' '));
|
|
187
187
|
return lines.join('\n') + '\n';
|
|
188
188
|
}
|
|
189
|
+
/**
|
|
190
|
+
* Escape all POSIX control characters except for `\n`.
|
|
191
|
+
*/
|
|
192
|
+
export function termEscape(value) {
|
|
193
|
+
return [...value]
|
|
194
|
+
.map(char =>
|
|
195
|
+
// eslint-disable-next-line no-control-regex
|
|
196
|
+
/^[\x00-\x09\x0b-\x1f\x7f\x80-\x9f]$/.test(char) ? '\\x' + char.charCodeAt(0).toString(16).padStart(2, '0') : char)
|
|
197
|
+
.join('');
|
|
198
|
+
}
|
|
189
199
|
//# sourceMappingURL=util.js.map
|
package/lib/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/lib/mock/request.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
/// <reference types="node" />
|
|
2
|
-
import type { MockRequestOptions } from '../types.js';
|
|
3
|
-
import { IncomingMessage } from 'http';
|
|
4
|
-
/**
|
|
5
|
-
* Mock request class.
|
|
6
|
-
*/
|
|
7
|
-
export declare class MockRequest extends IncomingMessage {
|
|
8
|
-
constructor(options?: MockRequestOptions);
|
|
9
|
-
}
|
package/lib/mock/request.js
DELETED
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { IncomingMessage } from 'http';
|
|
2
|
-
import { Socket } from 'net';
|
|
3
|
-
/**
|
|
4
|
-
* Mock request class.
|
|
5
|
-
*/
|
|
6
|
-
export class MockRequest extends IncomingMessage {
|
|
7
|
-
constructor(options = {}) {
|
|
8
|
-
super(new Socket());
|
|
9
|
-
this.method = options.method ?? 'GET';
|
|
10
|
-
this.url = options.url ?? '/';
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
//# sourceMappingURL=request.js.map
|
package/lib/mock/request.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"request.js","sourceRoot":"","sources":["../../src/mock/request.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,eAAe,EAAC,MAAM,MAAM,CAAC;AACrC,OAAO,EAAC,MAAM,EAAC,MAAM,KAAK,CAAC;AAE3B;;GAEG;AACH,MAAM,OAAO,WAAY,SAAQ,eAAe;IAC9C,YAAY,UAA8B,EAAE;QAC1C,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC,CAAC;QACpB,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;QACtC,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC;IAChC,CAAC;CACF"}
|
package/lib/mock/response.d.ts
DELETED
package/lib/mock/response.js
DELETED
package/lib/mock/response.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"response.js","sourceRoot":"","sources":["../../src/mock/response.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,MAAM,CAAC;AAEpC;;GAEG;AACH,MAAM,OAAO,YAAa,SAAQ,cAAc;CAAG"}
|