@mojojs/core 1.12.1 → 1.14.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 +3 -3
- package/lib/context.d.ts +30 -1
- package/lib/context.js +4 -1
- package/lib/context.js.map +1 -1
- package/lib/headers.d.ts +16 -0
- package/lib/headers.js +37 -0
- package/lib/headers.js.map +1 -1
- package/lib/user-agent/mock.d.ts +2 -2
- package/lib/user-agent/mock.js +2 -2
- package/lib/user-agent/response.d.ts +1 -1
- package/lib/user-agent/response.js +1 -1
- package/lib/user-agent/test.d.ts +2 -2
- package/lib/user-agent/test.js +2 -2
- package/lib/user-agent.d.ts +13 -13
- package/lib/user-agent.js +16 -6
- package/lib/user-agent.js.map +1 -1
- package/package.json +3 -3
package/lib/app.d.ts
CHANGED
|
@@ -90,7 +90,7 @@ export declare class App {
|
|
|
90
90
|
*/
|
|
91
91
|
static: Static;
|
|
92
92
|
/**
|
|
93
|
-
* HTTP/WebSocket user
|
|
93
|
+
* HTTP/WebSocket user-agent.
|
|
94
94
|
*/
|
|
95
95
|
ua: UserAgent;
|
|
96
96
|
/**
|
|
@@ -144,11 +144,11 @@ export declare class App {
|
|
|
144
144
|
url?: string;
|
|
145
145
|
}): MojoContext;
|
|
146
146
|
/**
|
|
147
|
-
* Create a new mock user
|
|
147
|
+
* Create a new mock user-agent for application.
|
|
148
148
|
*/
|
|
149
149
|
newMockUserAgent(options?: UserAgentOptions, serverOptions?: ServerOptions): Promise<MockUserAgent>;
|
|
150
150
|
/**
|
|
151
|
-
* Create a new test user
|
|
151
|
+
* Create a new test user-agent for application.
|
|
152
152
|
*/
|
|
153
153
|
newTestUserAgent(options?: TestUserAgentOptions, serverOptions?: ServerOptions): Promise<TestUserAgent>;
|
|
154
154
|
/**
|
package/lib/app.js
CHANGED
|
@@ -66,7 +66,7 @@ export class App {
|
|
|
66
66
|
*/
|
|
67
67
|
this.static = new Static();
|
|
68
68
|
/**
|
|
69
|
-
* HTTP/WebSocket user
|
|
69
|
+
* HTTP/WebSocket user-agent.
|
|
70
70
|
*/
|
|
71
71
|
this.ua = new UserAgent();
|
|
72
72
|
/**
|
|
@@ -183,13 +183,13 @@ export class App {
|
|
|
183
183
|
return ctx;
|
|
184
184
|
}
|
|
185
185
|
/**
|
|
186
|
-
* Create a new mock user
|
|
186
|
+
* Create a new mock user-agent for application.
|
|
187
187
|
*/
|
|
188
188
|
async newMockUserAgent(options, serverOptions) {
|
|
189
189
|
return await MockUserAgent.newMockUserAgent(this, options, serverOptions);
|
|
190
190
|
}
|
|
191
191
|
/**
|
|
192
|
-
* Create a new test user
|
|
192
|
+
* Create a new test user-agent for application.
|
|
193
193
|
*/
|
|
194
194
|
async newTestUserAgent(options, serverOptions) {
|
|
195
195
|
return await TestUserAgent.newTestUserAgent(this, options, serverOptions);
|
package/lib/context.d.ts
CHANGED
|
@@ -44,6 +44,10 @@ declare class Context extends EventEmitter {
|
|
|
44
44
|
jsonMode: boolean;
|
|
45
45
|
/**
|
|
46
46
|
* Logger with request id.
|
|
47
|
+
* @example
|
|
48
|
+
* // Pass logger with context to model
|
|
49
|
+
* const log = ctx.log;
|
|
50
|
+
* ctx.model.users.create({name: 'kraih'}, log);
|
|
47
51
|
*/
|
|
48
52
|
log: ChildLogger;
|
|
49
53
|
/**
|
|
@@ -52,10 +56,32 @@ declare class Context extends EventEmitter {
|
|
|
52
56
|
plan: Plan | null;
|
|
53
57
|
/**
|
|
54
58
|
* HTTP request information.
|
|
59
|
+
* @example
|
|
60
|
+
* // Extract request information
|
|
61
|
+
* const id = ctx.req.requestId;
|
|
62
|
+
* const method = ctx.req.method;
|
|
63
|
+
* const baseURL = ctx.req.baseURL;
|
|
64
|
+
* const url = ctx.req.url;
|
|
65
|
+
* const query = ctx.req.query;
|
|
66
|
+
* const info = ctx.req.userinfo;
|
|
67
|
+
* const agent = ctx.req.get('User-Agent');
|
|
68
|
+
* const buffer = await ctx.req.buffer();
|
|
69
|
+
* const text = await ctx.req.text();
|
|
70
|
+
* const form = await ctx.req.form();
|
|
71
|
+
* const value = await ctx.req.json();
|
|
72
|
+
* const html = await ctx.req.html();
|
|
73
|
+
* const xml = await ctx.req.xml();
|
|
55
74
|
*/
|
|
56
75
|
req: ServerRequest;
|
|
57
76
|
/**
|
|
58
77
|
* HTTP response information.
|
|
78
|
+
* @example
|
|
79
|
+
* // Force file download by setting a response header
|
|
80
|
+
* ctx.res.set('Content-Disposition', 'attachment; filename=foo.png;');
|
|
81
|
+
*
|
|
82
|
+
* // Make sure response is cached correctly
|
|
83
|
+
* ctx.res.set('Cache-Control', 'public, max-age=300');
|
|
84
|
+
* ctx.res.headers.append('Vary', 'Accept-Encoding');
|
|
59
85
|
*/
|
|
60
86
|
res: ServerResponse;
|
|
61
87
|
/**
|
|
@@ -90,6 +116,9 @@ declare class Context extends EventEmitter {
|
|
|
90
116
|
handleUpgrade(ws: WebSocket): void;
|
|
91
117
|
/**
|
|
92
118
|
* Home directory shortcut.
|
|
119
|
+
* @example
|
|
120
|
+
* // Generate path
|
|
121
|
+
* const path = ctx.home.child('views', 'foo', 'bar.html.tmpl');
|
|
93
122
|
*/
|
|
94
123
|
get home(): Path;
|
|
95
124
|
/**
|
|
@@ -168,7 +197,7 @@ declare class Context extends EventEmitter {
|
|
|
168
197
|
*/
|
|
169
198
|
session(): Promise<SessionData>;
|
|
170
199
|
/**
|
|
171
|
-
* HTTP/WebSocket user
|
|
200
|
+
* HTTP/WebSocket user-agent shortcut.
|
|
172
201
|
*/
|
|
173
202
|
get ua(): UserAgent;
|
|
174
203
|
/**
|
package/lib/context.js
CHANGED
|
@@ -99,6 +99,9 @@ class Context extends EventEmitter {
|
|
|
99
99
|
}
|
|
100
100
|
/**
|
|
101
101
|
* Home directory shortcut.
|
|
102
|
+
* @example
|
|
103
|
+
* // Generate path
|
|
104
|
+
* const path = ctx.home.child('views', 'foo', 'bar.html.tmpl');
|
|
102
105
|
*/
|
|
103
106
|
get home() {
|
|
104
107
|
return this.app.home;
|
|
@@ -251,7 +254,7 @@ class Context extends EventEmitter {
|
|
|
251
254
|
return this._session;
|
|
252
255
|
}
|
|
253
256
|
/**
|
|
254
|
-
* HTTP/WebSocket user
|
|
257
|
+
* HTTP/WebSocket user-agent shortcut.
|
|
255
258
|
*/
|
|
256
259
|
get ua() {
|
|
257
260
|
return this.app.ua;
|
package/lib/context.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAkBA,OAAO,YAAY,MAAM,aAAa,CAAC;AACvC,OAAO,EAAC,MAAM,EAAC,MAAM,kBAAkB,CAAC;AACxC,OAAO,EAAC,UAAU,EAAC,MAAM,WAAW,CAAC;AAcrC,MAAM,QAAQ,GAAG,4BAA4B,CAAC;AAE9C;;GAEG;AACH,MAAM,OAAQ,SAAQ,YAAY;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
|
package/lib/headers.d.ts
CHANGED
|
@@ -29,6 +29,14 @@ export declare class Headers {
|
|
|
29
29
|
* Get all headers values individually.
|
|
30
30
|
*/
|
|
31
31
|
getAll(name: string): string[];
|
|
32
|
+
/**
|
|
33
|
+
* Get web links from `Link` header according to RFC5988.
|
|
34
|
+
* @link http://tools.ietf.org/html/rfc5988
|
|
35
|
+
* @example
|
|
36
|
+
* // Extract information about next page
|
|
37
|
+
* const {link, title} = headers.getLinks().next;
|
|
38
|
+
*/
|
|
39
|
+
getLinks(): Record<string, Record<string, string>>;
|
|
32
40
|
/**
|
|
33
41
|
* Remove header.
|
|
34
42
|
*/
|
|
@@ -37,6 +45,14 @@ export declare class Headers {
|
|
|
37
45
|
* Set header value.
|
|
38
46
|
*/
|
|
39
47
|
set(name: string, value: string): void;
|
|
48
|
+
/**
|
|
49
|
+
* Set web links to `Link` header according to RFC5988.
|
|
50
|
+
* @link http://tools.ietf.org/html/rfc5988
|
|
51
|
+
* @example
|
|
52
|
+
* // Link to next and previous page
|
|
53
|
+
* headers.setLinks({next: 'http://example.com/foo', prev: 'http://example.com/bar'});
|
|
54
|
+
*/
|
|
55
|
+
setLinks(links: Record<string, string>): void;
|
|
40
56
|
/**
|
|
41
57
|
* Convert headers into a plain array of name/value pairs.
|
|
42
58
|
*/
|
package/lib/headers.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { headerParams } from '@mojojs/util';
|
|
1
2
|
const HOP_BY_HOP = [
|
|
2
3
|
'connection',
|
|
3
4
|
'keep-alive',
|
|
@@ -59,6 +60,29 @@ export class Headers {
|
|
|
59
60
|
const values = this._getHeaders()[name.toLowerCase()]?.values ?? [];
|
|
60
61
|
return [...values];
|
|
61
62
|
}
|
|
63
|
+
/**
|
|
64
|
+
* Get web links from `Link` header according to RFC5988.
|
|
65
|
+
* @link http://tools.ietf.org/html/rfc5988
|
|
66
|
+
* @example
|
|
67
|
+
* // Extract information about next page
|
|
68
|
+
* const {link, title} = headers.getLinks().next;
|
|
69
|
+
*/
|
|
70
|
+
getLinks() {
|
|
71
|
+
var _a;
|
|
72
|
+
const data = {};
|
|
73
|
+
let value = this.get('Link') ?? '';
|
|
74
|
+
while (value.length > 0) {
|
|
75
|
+
const linkMatch = value.match(/^[,\s]*<(.+?)>(.+)$/);
|
|
76
|
+
if (linkMatch === null)
|
|
77
|
+
break;
|
|
78
|
+
const link = linkMatch[1];
|
|
79
|
+
const { params, remainder } = headerParams(linkMatch[2]);
|
|
80
|
+
value = remainder;
|
|
81
|
+
if (params.rel !== undefined)
|
|
82
|
+
data[_a = params.rel] ?? (data[_a] = { ...params, link });
|
|
83
|
+
}
|
|
84
|
+
return data;
|
|
85
|
+
}
|
|
62
86
|
/**
|
|
63
87
|
* Remove header.
|
|
64
88
|
*/
|
|
@@ -72,6 +96,19 @@ export class Headers {
|
|
|
72
96
|
const lowerCase = name.toLowerCase();
|
|
73
97
|
this._getHeaders()[lowerCase] = { normalCase: name, values: [value] };
|
|
74
98
|
}
|
|
99
|
+
/**
|
|
100
|
+
* Set web links to `Link` header according to RFC5988.
|
|
101
|
+
* @link http://tools.ietf.org/html/rfc5988
|
|
102
|
+
* @example
|
|
103
|
+
* // Link to next and previous page
|
|
104
|
+
* headers.setLinks({next: 'http://example.com/foo', prev: 'http://example.com/bar'});
|
|
105
|
+
*/
|
|
106
|
+
setLinks(links) {
|
|
107
|
+
const value = Object.entries(links)
|
|
108
|
+
.map(([rel, link]) => `<${link}>; rel="${rel}"`)
|
|
109
|
+
.join(', ');
|
|
110
|
+
this.set('Link', value);
|
|
111
|
+
}
|
|
75
112
|
/**
|
|
76
113
|
* Convert headers into a plain array of name/value pairs.
|
|
77
114
|
*/
|
package/lib/headers.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headers.js","sourceRoot":"","sources":["../src/headers.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"headers.js","sourceRoot":"","sources":["../src/headers.ts"],"names":[],"mappings":"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"}
|
package/lib/user-agent/mock.d.ts
CHANGED
|
@@ -3,7 +3,7 @@ import type { ServerOptions, UserAgentOptions } from '../types.js';
|
|
|
3
3
|
import { Server } from '../server.js';
|
|
4
4
|
import { UserAgent } from '../user-agent.js';
|
|
5
5
|
/**
|
|
6
|
-
* Mock user
|
|
6
|
+
* Mock user-agent class.
|
|
7
7
|
*/
|
|
8
8
|
export declare class MockUserAgent extends UserAgent {
|
|
9
9
|
/**
|
|
@@ -12,7 +12,7 @@ export declare class MockUserAgent extends UserAgent {
|
|
|
12
12
|
server: Server | undefined;
|
|
13
13
|
constructor(options?: UserAgentOptions);
|
|
14
14
|
/**
|
|
15
|
-
* Create a new mock user
|
|
15
|
+
* Create a new mock user-agent.
|
|
16
16
|
*/
|
|
17
17
|
static newMockUserAgent(app: App, options?: UserAgentOptions, serverOptions?: ServerOptions): Promise<MockUserAgent>;
|
|
18
18
|
/**
|
package/lib/user-agent/mock.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Server } from '../server.js';
|
|
2
2
|
import { UserAgent } from '../user-agent.js';
|
|
3
3
|
/**
|
|
4
|
-
* Mock user
|
|
4
|
+
* Mock user-agent class.
|
|
5
5
|
*/
|
|
6
6
|
export class MockUserAgent extends UserAgent {
|
|
7
7
|
constructor(options) {
|
|
@@ -13,7 +13,7 @@ export class MockUserAgent extends UserAgent {
|
|
|
13
13
|
this.server = undefined;
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
|
-
* Create a new mock user
|
|
16
|
+
* Create a new mock user-agent.
|
|
17
17
|
*/
|
|
18
18
|
static async newMockUserAgent(app, options, serverOptions) {
|
|
19
19
|
return await new MockUserAgent(options).start(app, serverOptions);
|
package/lib/user-agent/test.d.ts
CHANGED
|
@@ -13,7 +13,7 @@ import DOM from '@mojojs/dom';
|
|
|
13
13
|
import StackUtils from 'stack-utils';
|
|
14
14
|
type SkipFunction = (...args: any[]) => any;
|
|
15
15
|
/**
|
|
16
|
-
* Test user
|
|
16
|
+
* Test user-agent class.
|
|
17
17
|
*/
|
|
18
18
|
export declare class TestUserAgent extends MockUserAgent {
|
|
19
19
|
/**
|
|
@@ -110,7 +110,7 @@ export declare class TestUserAgent extends MockUserAgent {
|
|
|
110
110
|
*/
|
|
111
111
|
messageOk(): Promise<JSONValue>;
|
|
112
112
|
/**
|
|
113
|
-
* Create a new test user
|
|
113
|
+
* Create a new test user-agent.
|
|
114
114
|
*/
|
|
115
115
|
static newTestUserAgent(app: App, options?: TestUserAgentOptions, serverOptions?: ServerOptions): Promise<TestUserAgent>;
|
|
116
116
|
/**
|
package/lib/user-agent/test.js
CHANGED
|
@@ -6,7 +6,7 @@ import { jsonPointer } from '@mojojs/util';
|
|
|
6
6
|
import yaml from 'js-yaml';
|
|
7
7
|
import StackUtils from 'stack-utils';
|
|
8
8
|
/**
|
|
9
|
-
* Test user
|
|
9
|
+
* Test user-agent class.
|
|
10
10
|
*/
|
|
11
11
|
export class TestUserAgent extends MockUserAgent {
|
|
12
12
|
constructor(options = {}) {
|
|
@@ -173,7 +173,7 @@ export class TestUserAgent extends MockUserAgent {
|
|
|
173
173
|
return message;
|
|
174
174
|
}
|
|
175
175
|
/**
|
|
176
|
-
* Create a new test user
|
|
176
|
+
* Create a new test user-agent.
|
|
177
177
|
*/
|
|
178
178
|
static async newTestUserAgent(app, options, serverOptions) {
|
|
179
179
|
app.exceptionFormat = 'txt';
|
package/lib/user-agent.d.ts
CHANGED
|
@@ -1,32 +1,24 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
/// <reference types="node" />
|
|
3
2
|
import type { UserAgentOptions, UserAgentRequestOptions, UserAgentWebSocketOptions } from './types.js';
|
|
4
3
|
import type { UserAgentResponse } from './user-agent/response.js';
|
|
5
4
|
import type { WebSocket } from './websocket.js';
|
|
6
|
-
import EventEmitter from 'node:events';
|
|
7
5
|
import { URL } from 'node:url';
|
|
8
6
|
import { CookieJar } from './user-agent/cookie-jar.js';
|
|
9
7
|
import { HTTPTransport } from './user-agent/transport/http.js';
|
|
10
8
|
import { HTTPSTransport } from './user-agent/transport/https.js';
|
|
11
9
|
import { WSTransport } from './user-agent/transport/ws.js';
|
|
10
|
+
import { AsyncHooks } from '@mojojs/util';
|
|
12
11
|
import FormData from 'form-data';
|
|
13
12
|
interface Upload {
|
|
14
13
|
content: string;
|
|
15
14
|
filename: string;
|
|
16
15
|
type: string;
|
|
17
16
|
}
|
|
18
|
-
|
|
19
|
-
request: (config: UserAgentRequestOptions) => void;
|
|
20
|
-
websocket: (config: UserAgentWebSocketOptions) => void;
|
|
21
|
-
}
|
|
22
|
-
declare interface UserAgent {
|
|
23
|
-
on: <T extends keyof UserAgentEvents>(event: T, listener: UserAgentEvents[T]) => this;
|
|
24
|
-
emit: <T extends keyof UserAgentEvents>(event: T, ...args: Parameters<UserAgentEvents[T]>) => boolean;
|
|
25
|
-
}
|
|
17
|
+
type UserAgentHook = (ua: UserAgent, ...args: any[]) => any;
|
|
26
18
|
/**
|
|
27
|
-
* HTTP and WebSocket user
|
|
19
|
+
* HTTP and WebSocket user-agent.
|
|
28
20
|
*/
|
|
29
|
-
declare class UserAgent
|
|
21
|
+
declare class UserAgent {
|
|
30
22
|
/**
|
|
31
23
|
* Base URL to be used to resolve all relative request URLs with.
|
|
32
24
|
*/
|
|
@@ -35,6 +27,10 @@ declare class UserAgent extends EventEmitter {
|
|
|
35
27
|
* Cookie jar to use.
|
|
36
28
|
*/
|
|
37
29
|
cookieJar: CookieJar | null;
|
|
30
|
+
/**
|
|
31
|
+
* User-agent hooks.
|
|
32
|
+
*/
|
|
33
|
+
hooks: AsyncHooks;
|
|
38
34
|
/**
|
|
39
35
|
* Transport backend to perform HTTP requests with.
|
|
40
36
|
*/
|
|
@@ -48,7 +44,7 @@ declare class UserAgent extends EventEmitter {
|
|
|
48
44
|
*/
|
|
49
45
|
maxRedirects: number;
|
|
50
46
|
/**
|
|
51
|
-
* Name of user
|
|
47
|
+
* Name of user-agent to send with `User-Agent` header.
|
|
52
48
|
*/
|
|
53
49
|
name: string | undefined;
|
|
54
50
|
/**
|
|
@@ -56,6 +52,10 @@ declare class UserAgent extends EventEmitter {
|
|
|
56
52
|
*/
|
|
57
53
|
wsTransport: WSTransport;
|
|
58
54
|
constructor(options?: UserAgentOptions);
|
|
55
|
+
/**
|
|
56
|
+
* Add a hook to extend the user-agent.
|
|
57
|
+
*/
|
|
58
|
+
addHook(name: string, fn: UserAgentHook): this;
|
|
59
59
|
/**
|
|
60
60
|
* Destroy all active keep-alive connections.
|
|
61
61
|
*/
|
package/lib/user-agent.js
CHANGED
|
@@ -1,21 +1,24 @@
|
|
|
1
|
-
import EventEmitter from 'node:events';
|
|
2
1
|
import { URL } from 'node:url';
|
|
3
2
|
import { CookieJar } from './user-agent/cookie-jar.js';
|
|
4
3
|
import { HTTPTransport } from './user-agent/transport/http.js';
|
|
5
4
|
import { HTTPSTransport } from './user-agent/transport/https.js';
|
|
6
5
|
import { WSTransport } from './user-agent/transport/ws.js';
|
|
6
|
+
import { AsyncHooks } from '@mojojs/util';
|
|
7
7
|
import FormData from 'form-data';
|
|
8
8
|
import yaml from 'js-yaml';
|
|
9
9
|
/**
|
|
10
|
-
* HTTP and WebSocket user
|
|
10
|
+
* HTTP and WebSocket user-agent.
|
|
11
11
|
*/
|
|
12
|
-
class UserAgent
|
|
12
|
+
class UserAgent {
|
|
13
13
|
constructor(options = {}) {
|
|
14
|
-
super();
|
|
15
14
|
/**
|
|
16
15
|
* Cookie jar to use.
|
|
17
16
|
*/
|
|
18
17
|
this.cookieJar = new CookieJar();
|
|
18
|
+
/**
|
|
19
|
+
* User-agent hooks.
|
|
20
|
+
*/
|
|
21
|
+
this.hooks = new AsyncHooks();
|
|
19
22
|
/**
|
|
20
23
|
* Transport backend to perform HTTP requests with.
|
|
21
24
|
*/
|
|
@@ -32,6 +35,13 @@ class UserAgent extends EventEmitter {
|
|
|
32
35
|
this.maxRedirects = options.maxRedirects ?? 0;
|
|
33
36
|
this.name = options.name;
|
|
34
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* Add a hook to extend the user-agent.
|
|
40
|
+
*/
|
|
41
|
+
addHook(name, fn) {
|
|
42
|
+
this.hooks.addHook(name, fn);
|
|
43
|
+
return this;
|
|
44
|
+
}
|
|
35
45
|
/**
|
|
36
46
|
* Destroy all active keep-alive connections.
|
|
37
47
|
*/
|
|
@@ -86,7 +96,7 @@ class UserAgent extends EventEmitter {
|
|
|
86
96
|
*/
|
|
87
97
|
async request(config) {
|
|
88
98
|
const filtered = await this._filterConfig(config);
|
|
89
|
-
this.
|
|
99
|
+
await this.hooks.runHook('request', this, filtered);
|
|
90
100
|
if (typeof filtered.body === 'string')
|
|
91
101
|
filtered.body = Buffer.from(filtered.body);
|
|
92
102
|
if (filtered.body instanceof Buffer)
|
|
@@ -105,7 +115,7 @@ class UserAgent extends EventEmitter {
|
|
|
105
115
|
async websocket(url, options = {}) {
|
|
106
116
|
options.url = url;
|
|
107
117
|
const filtered = await this._filterSharedConfig(options);
|
|
108
|
-
this.
|
|
118
|
+
await this.hooks.runHook('websocket', this, filtered);
|
|
109
119
|
filtered.url.protocol = filtered.url.protocol === 'https:' ? 'wss:' : 'ws:';
|
|
110
120
|
return await this.wsTransport.connect(filtered);
|
|
111
121
|
}
|
package/lib/user-agent.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user-agent.js","sourceRoot":"","sources":["../src/user-agent.ts"],"names":[],"mappings":"AAGA,OAAO,
|
|
1
|
+
{"version":3,"file":"user-agent.js","sourceRoot":"","sources":["../src/user-agent.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mojojs/core",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.14.0",
|
|
4
4
|
"description": "Real-time web framework",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mojojs",
|
|
@@ -80,10 +80,10 @@
|
|
|
80
80
|
"node": ">= 16"
|
|
81
81
|
},
|
|
82
82
|
"dependencies": {
|
|
83
|
-
"@mojojs/dom": "^2.0.
|
|
83
|
+
"@mojojs/dom": "^2.0.2",
|
|
84
84
|
"@mojojs/path": "^1.5.3",
|
|
85
85
|
"@mojojs/template": "^2.1.1",
|
|
86
|
-
"@mojojs/util": "^1.
|
|
86
|
+
"@mojojs/util": "^1.6.0",
|
|
87
87
|
"ajv": "^8.5.0",
|
|
88
88
|
"busboy": "^1.0.0",
|
|
89
89
|
"chalk": "^5.0.0",
|