airdcpp-apisocket 3.0.0-beta.8 → 3.0.0-beta.9
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/dist-es/SocketBase.js +5 -2
- package/dist-es/SocketBase.js.map +1 -1
- package/dist-es/tests/mocks/mock-data.d.ts +30 -2
- package/dist-es/tests/mocks/mock-data.js +11 -3
- package/dist-es/tests/mocks/mock-data.js.map +1 -1
- package/dist-es/tests/mocks/mock-server.js +3 -0
- package/dist-es/tests/mocks/mock-server.js.map +1 -1
- package/dist-es/types/socket.d.ts +1 -0
- package/package.json +6 -6
- package/src/SocketBase.ts +6 -2
- package/src/tests/mocks/mock-data.ts +12 -3
- package/src/tests/mocks/mock-server.ts +4 -0
- package/src/types/socket.ts +1 -0
- package/dist/ApiConstants.d.ts +0 -6
- package/dist/ApiConstants.js +0 -6
- package/dist/ApiConstants.js.map +0 -1
- package/dist/NodeSocket.d.ts +0 -4
- package/dist/NodeSocket.js +0 -5
- package/dist/NodeSocket.js.map +0 -1
- package/dist/Promise.d.ts +0 -8
- package/dist/Promise.js +0 -25
- package/dist/Promise.js.map +0 -1
- package/dist/PublicHelpers.d.ts +0 -2
- package/dist/PublicHelpers.js +0 -108
- package/dist/PublicHelpers.js.map +0 -1
- package/dist/SocketBase.d.ts +0 -4
- package/dist/SocketBase.js +0 -347
- package/dist/SocketBase.js.map +0 -1
- package/dist/SocketLogger.d.ts +0 -9
- package/dist/SocketLogger.js +0 -69
- package/dist/SocketLogger.js.map +0 -1
- package/dist/SocketRequestHandler.d.ts +0 -14
- package/dist/SocketRequestHandler.js +0 -164
- package/dist/SocketRequestHandler.js.map +0 -1
- package/dist/SocketSubscriptionHandler.d.ts +0 -11
- package/dist/SocketSubscriptionHandler.js +0 -157
- package/dist/SocketSubscriptionHandler.js.map +0 -1
- package/dist/tests/helpers.d.ts +0 -57
- package/dist/tests/helpers.js +0 -127
- package/dist/tests/helpers.js.map +0 -1
- package/dist/types/api.d.ts +0 -30
- package/dist/types/api.js +0 -3
- package/dist/types/api.js.map +0 -1
- package/dist/types/api_internal.d.ts +0 -24
- package/dist/types/api_internal.js +0 -2
- package/dist/types/api_internal.js.map +0 -1
- package/dist/types/index.d.ts +0 -7
- package/dist/types/index.js +0 -8
- package/dist/types/index.js.map +0 -1
- package/dist/types/logger.d.ts +0 -6
- package/dist/types/logger.js +0 -2
- package/dist/types/logger.js.map +0 -1
- package/dist/types/options.d.ts +0 -31
- package/dist/types/options.js +0 -3
- package/dist/types/options.js.map +0 -1
- package/dist/types/public_helpers.d.ts +0 -28
- package/dist/types/public_helpers.js +0 -2
- package/dist/types/public_helpers.js.map +0 -1
- package/dist/types/public_helpers_internal.d.ts +0 -27
- package/dist/types/public_helpers_internal.js +0 -2
- package/dist/types/public_helpers_internal.js.map +0 -1
- package/dist/types/requests.d.ts +0 -14
- package/dist/types/requests.js +0 -2
- package/dist/types/requests.js.map +0 -1
- package/dist/types/socket.d.ts +0 -23
- package/dist/types/socket.js +0 -2
- package/dist/types/socket.js.map +0 -1
- package/dist/types/subscriptions.d.ts +0 -20
- package/dist/types/subscriptions.js +0 -2
- package/dist/types/subscriptions.js.map +0 -1
- package/dist/utils.d.ts +0 -2
- package/dist/utils.js +0 -12
- package/dist/utils.js.map +0 -1
package/dist/SocketBase.js
DELETED
@@ -1,347 +0,0 @@
|
|
1
|
-
import ApiConstants from './ApiConstants.js';
|
2
|
-
import SocketLogger from './SocketLogger.js';
|
3
|
-
import SocketSubscriptionHandler from './SocketSubscriptionHandler.js';
|
4
|
-
import SocketRequestHandler from './SocketRequestHandler.js';
|
5
|
-
import invariant from 'invariant';
|
6
|
-
import Promise from './Promise.js';
|
7
|
-
// CONSTANTS
|
8
|
-
const defaultOptions = {
|
9
|
-
autoReconnect: true,
|
10
|
-
reconnectInterval: 10,
|
11
|
-
userSession: false,
|
12
|
-
};
|
13
|
-
const ApiSocket = (userOptions, WebSocketImpl) => {
|
14
|
-
const options = {
|
15
|
-
...defaultOptions,
|
16
|
-
...userOptions
|
17
|
-
};
|
18
|
-
let ws = null;
|
19
|
-
let authToken = null;
|
20
|
-
let socket = null;
|
21
|
-
let reconnectTimer;
|
22
|
-
let forceNoAutoConnect = true;
|
23
|
-
let connectedCallback = null;
|
24
|
-
let sessionResetCallback = null;
|
25
|
-
let disconnectedCallback = null;
|
26
|
-
const logger = SocketLogger(options);
|
27
|
-
const subscriptions = SocketSubscriptionHandler(() => socket, logger, options);
|
28
|
-
const requests = SocketRequestHandler(() => socket, logger, options);
|
29
|
-
invariant(userOptions.url, '"url" must be defined in settings object');
|
30
|
-
const resetSession = () => {
|
31
|
-
if (authToken) {
|
32
|
-
if (sessionResetCallback) {
|
33
|
-
sessionResetCallback();
|
34
|
-
}
|
35
|
-
authToken = null;
|
36
|
-
}
|
37
|
-
};
|
38
|
-
const onClosed = (event) => {
|
39
|
-
if (event.wasClean) {
|
40
|
-
logger.info('Websocket was closed normally');
|
41
|
-
}
|
42
|
-
else {
|
43
|
-
logger.error(`Websocket failed: ${event.reason} (code: ${event.code})`);
|
44
|
-
}
|
45
|
-
requests.onSocketDisconnected();
|
46
|
-
subscriptions.onSocketDisconnected();
|
47
|
-
ws = null;
|
48
|
-
if (disconnectedCallback) {
|
49
|
-
disconnectedCallback(event.reason, event.code, event.wasClean);
|
50
|
-
}
|
51
|
-
if (authToken && options.autoReconnect && !forceNoAutoConnect) {
|
52
|
-
setTimeout(() => {
|
53
|
-
if (forceNoAutoConnect) {
|
54
|
-
return;
|
55
|
-
}
|
56
|
-
socket.reconnect()
|
57
|
-
.catch((error) => {
|
58
|
-
logger.error('Reconnect failed for a closed socket', error.message);
|
59
|
-
});
|
60
|
-
});
|
61
|
-
}
|
62
|
-
};
|
63
|
-
const onMessage = (event) => {
|
64
|
-
const messageObj = JSON.parse(event.data);
|
65
|
-
if (messageObj.callback_id) {
|
66
|
-
// Callback
|
67
|
-
requests.handleMessage(messageObj);
|
68
|
-
}
|
69
|
-
else {
|
70
|
-
// Listener message
|
71
|
-
subscriptions.handleMessage(messageObj);
|
72
|
-
}
|
73
|
-
};
|
74
|
-
const setSocketHandlers = () => {
|
75
|
-
ws.onerror = (event) => {
|
76
|
-
logger.error(`Websocket failed: ${event.reason}`);
|
77
|
-
};
|
78
|
-
ws.onclose = onClosed;
|
79
|
-
ws.onmessage = onMessage;
|
80
|
-
};
|
81
|
-
// Connect handler for creation of new session
|
82
|
-
const handlePasswordLogin = (username = options.username, password = options.password) => {
|
83
|
-
if (!username) {
|
84
|
-
throw '"username" option was not supplied for authentication';
|
85
|
-
}
|
86
|
-
if (!password) {
|
87
|
-
throw '"password" option was not supplied for authentication';
|
88
|
-
}
|
89
|
-
const data = {
|
90
|
-
username,
|
91
|
-
password,
|
92
|
-
grant_type: 'password',
|
93
|
-
};
|
94
|
-
return requests.postAuthenticate(ApiConstants.LOGIN_URL, data);
|
95
|
-
};
|
96
|
-
const handleRefreshTokenLogin = (refreshToken) => {
|
97
|
-
if (!refreshToken) {
|
98
|
-
throw '"refreshToken" option was not supplied for authentication';
|
99
|
-
}
|
100
|
-
const data = {
|
101
|
-
refresh_token: refreshToken,
|
102
|
-
grant_type: 'refresh_token',
|
103
|
-
};
|
104
|
-
return requests.postAuthenticate(ApiConstants.LOGIN_URL, data);
|
105
|
-
};
|
106
|
-
// Connect handler for associating socket with an existing session token
|
107
|
-
const handleAuthorizeToken = () => {
|
108
|
-
const data = {
|
109
|
-
auth_token: authToken,
|
110
|
-
};
|
111
|
-
return requests.postAuthenticate(ApiConstants.CONNECT_URL, data);
|
112
|
-
};
|
113
|
-
// Called after a successful authentication request
|
114
|
-
const onSocketAuthenticated = (data) => {
|
115
|
-
if (!authToken) {
|
116
|
-
// New session
|
117
|
-
logger.info('Login succeed');
|
118
|
-
authToken = data.auth_token;
|
119
|
-
}
|
120
|
-
else {
|
121
|
-
// Existing session
|
122
|
-
logger.info('Socket associated with an existing session');
|
123
|
-
}
|
124
|
-
if (connectedCallback) {
|
125
|
-
// Catch separately as we don't want an infinite reconnect loop
|
126
|
-
try {
|
127
|
-
connectedCallback(data);
|
128
|
-
}
|
129
|
-
catch (e) {
|
130
|
-
console.error('Error in socket connect handler', e.message);
|
131
|
-
}
|
132
|
-
requests.onSocketConnected();
|
133
|
-
}
|
134
|
-
};
|
135
|
-
// Send API authentication and handle the result
|
136
|
-
// Authentication handler should send the actual authentication request
|
137
|
-
const authenticate = (resolve, reject, authenticationHandler, reconnectHandler) => {
|
138
|
-
authenticationHandler()
|
139
|
-
.then((data) => {
|
140
|
-
onSocketAuthenticated(data);
|
141
|
-
resolve(data);
|
142
|
-
})
|
143
|
-
.catch((error) => {
|
144
|
-
if (error.code) {
|
145
|
-
if (authToken && error.code === 400 && options.autoReconnect) {
|
146
|
-
// The session was lost (most likely the client was restarted)
|
147
|
-
logger.info('Session lost, re-sending credentials');
|
148
|
-
resetSession();
|
149
|
-
authenticate(resolve, reject, handlePasswordLogin, reconnectHandler);
|
150
|
-
return;
|
151
|
-
}
|
152
|
-
else if (error.code === 401) {
|
153
|
-
// Invalid credentials, reset the token if we were reconnecting to avoid an infinite loop
|
154
|
-
resetSession();
|
155
|
-
}
|
156
|
-
// Authentication was rejected
|
157
|
-
socket.disconnect(undefined, 'Authentication failed');
|
158
|
-
}
|
159
|
-
else {
|
160
|
-
// Socket was disconnected during the authentication
|
161
|
-
logger.info('Socket disconnected during authentication, reconnecting');
|
162
|
-
reconnectHandler();
|
163
|
-
return;
|
164
|
-
}
|
165
|
-
reject(error);
|
166
|
-
});
|
167
|
-
};
|
168
|
-
// Authentication handler should send the actual authentication request
|
169
|
-
const connectInternal = (resolve, reject, authenticationHandler, reconnectOnFailure = true) => {
|
170
|
-
ws = new WebSocketImpl(options.url);
|
171
|
-
const scheduleReconnect = () => {
|
172
|
-
ws = null;
|
173
|
-
if (!reconnectOnFailure) {
|
174
|
-
reject('Cannot connect to the server');
|
175
|
-
return;
|
176
|
-
}
|
177
|
-
reconnectTimer = setTimeout(() => {
|
178
|
-
logger.info('Socket reconnecting');
|
179
|
-
connectInternal(resolve, reject, authenticationHandler, reconnectOnFailure);
|
180
|
-
}, options.reconnectInterval * 1000);
|
181
|
-
};
|
182
|
-
ws.onopen = () => {
|
183
|
-
logger.info('Socket connected');
|
184
|
-
setSocketHandlers();
|
185
|
-
authenticate(resolve, reject, authenticationHandler, scheduleReconnect);
|
186
|
-
};
|
187
|
-
ws.onerror = (event) => {
|
188
|
-
logger.error('Connecting socket failed');
|
189
|
-
scheduleReconnect();
|
190
|
-
};
|
191
|
-
};
|
192
|
-
// Authentication handler should send the actual authentication request
|
193
|
-
const startConnect = (authenticationHandler, reconnectOnFailure) => {
|
194
|
-
forceNoAutoConnect = false;
|
195
|
-
return new Promise((resolve, reject) => {
|
196
|
-
logger.info('Starting socket connect');
|
197
|
-
connectInternal(resolve, reject, authenticationHandler, reconnectOnFailure);
|
198
|
-
});
|
199
|
-
};
|
200
|
-
// Is the socket connected and authorized?
|
201
|
-
const isConnected = () => {
|
202
|
-
return !!(ws && ws.readyState === (ws.OPEN || 1) && authToken);
|
203
|
-
};
|
204
|
-
// Is the socket connected but not possibly authorized?
|
205
|
-
const isConnecting = () => {
|
206
|
-
return !!(ws && !isConnected());
|
207
|
-
};
|
208
|
-
// Socket exists
|
209
|
-
const isActive = () => {
|
210
|
-
return !!ws;
|
211
|
-
};
|
212
|
-
const disableReconnect = () => {
|
213
|
-
clearTimeout(reconnectTimer);
|
214
|
-
forceNoAutoConnect = true;
|
215
|
-
};
|
216
|
-
const waitDisconnected = (timeoutMs = 2000) => {
|
217
|
-
const checkInterval = 50;
|
218
|
-
const maxAttempts = timeoutMs > 0 ? timeoutMs / checkInterval : 0;
|
219
|
-
return new Promise((resolve, reject) => {
|
220
|
-
let attempts = 0;
|
221
|
-
const wait = () => {
|
222
|
-
if (isActive()) {
|
223
|
-
if (attempts >= maxAttempts) {
|
224
|
-
logger.error(`Socket disconnect timed out after ${timeoutMs} ms`);
|
225
|
-
reject('Socket disconnect timed out');
|
226
|
-
}
|
227
|
-
else {
|
228
|
-
setTimeout(wait, checkInterval);
|
229
|
-
attempts++;
|
230
|
-
}
|
231
|
-
}
|
232
|
-
else {
|
233
|
-
resolve();
|
234
|
-
}
|
235
|
-
};
|
236
|
-
wait();
|
237
|
-
});
|
238
|
-
};
|
239
|
-
// Disconnects the socket but keeps the session token
|
240
|
-
const disconnect = (autoConnect = false, reason = 'Manually disconnected by the client') => {
|
241
|
-
if (!ws) {
|
242
|
-
if (!forceNoAutoConnect) {
|
243
|
-
if (!autoConnect) {
|
244
|
-
logger.verbose('Disconnecting a closed socket with auto reconnect enabled (cancel reconnect)');
|
245
|
-
disableReconnect();
|
246
|
-
}
|
247
|
-
else {
|
248
|
-
logger.verbose('Attempting to disconnect a closed socket with auto reconnect enabled (continue connecting)');
|
249
|
-
}
|
250
|
-
}
|
251
|
-
else {
|
252
|
-
logger.warn('Attempting to disconnect a closed socket (ignore)');
|
253
|
-
//throw 'Attempting to disconnect a closed socket';
|
254
|
-
}
|
255
|
-
return;
|
256
|
-
}
|
257
|
-
logger.info('Disconnecting socket');
|
258
|
-
if (!autoConnect) {
|
259
|
-
disableReconnect();
|
260
|
-
}
|
261
|
-
ws.close(1000, reason);
|
262
|
-
};
|
263
|
-
socket = {
|
264
|
-
// Start connect
|
265
|
-
// Username and password are not required if those are available in socket options
|
266
|
-
connect: (username, password, reconnectOnFailure = true) => {
|
267
|
-
if (isActive()) {
|
268
|
-
throw 'Connect may only be used for a closed socket';
|
269
|
-
}
|
270
|
-
resetSession();
|
271
|
-
return startConnect(() => handlePasswordLogin(username, password), reconnectOnFailure);
|
272
|
-
},
|
273
|
-
connectRefreshToken: (refreshToken, reconnectOnFailure = true) => {
|
274
|
-
if (isActive()) {
|
275
|
-
throw 'Connect may only be used for a closed socket';
|
276
|
-
}
|
277
|
-
resetSession();
|
278
|
-
return startConnect(() => handleRefreshTokenLogin(refreshToken), reconnectOnFailure);
|
279
|
-
},
|
280
|
-
// Connect and attempt to associate the socket with an existing session
|
281
|
-
reconnect: (token = undefined, reconnectOnFailure = true) => {
|
282
|
-
if (isActive()) {
|
283
|
-
throw 'Reconnect may only be used for a closed socket';
|
284
|
-
}
|
285
|
-
if (token) {
|
286
|
-
authToken = token;
|
287
|
-
}
|
288
|
-
if (!authToken) {
|
289
|
-
throw 'No session token available for reconnecting';
|
290
|
-
}
|
291
|
-
logger.info('Reconnecting socket');
|
292
|
-
return startConnect(handleAuthorizeToken, reconnectOnFailure);
|
293
|
-
},
|
294
|
-
// Remove the associated API session and close the socket
|
295
|
-
logout: () => {
|
296
|
-
const resolver = Promise.pending();
|
297
|
-
socket.delete(ApiConstants.LOGOUT_URL)
|
298
|
-
.then((data) => {
|
299
|
-
logger.info('Logout succeed');
|
300
|
-
resetSession();
|
301
|
-
resolver.resolve(data);
|
302
|
-
// Don't fire the disconnected event before resolver actions are handled
|
303
|
-
disconnect(undefined, 'Logged out');
|
304
|
-
})
|
305
|
-
.catch((error) => {
|
306
|
-
logger.error('Logout failed', error);
|
307
|
-
resolver.reject(error);
|
308
|
-
});
|
309
|
-
return resolver.promise;
|
310
|
-
},
|
311
|
-
disconnect,
|
312
|
-
isConnecting,
|
313
|
-
isConnected,
|
314
|
-
isActive,
|
315
|
-
logger,
|
316
|
-
waitDisconnected,
|
317
|
-
// Function to call each time the socket has been connected (and authorized)
|
318
|
-
set onConnected(handler) {
|
319
|
-
connectedCallback = handler;
|
320
|
-
},
|
321
|
-
// Function to call each time the stored session token was reset (manual logout/rejected reconnect)
|
322
|
-
set onSessionReset(handler) {
|
323
|
-
sessionResetCallback = handler;
|
324
|
-
},
|
325
|
-
// Function to call each time the socket has been disconnected
|
326
|
-
set onDisconnected(handler) {
|
327
|
-
disconnectedCallback = handler;
|
328
|
-
},
|
329
|
-
get onConnected() {
|
330
|
-
return connectedCallback;
|
331
|
-
},
|
332
|
-
get onSessionReset() {
|
333
|
-
return sessionResetCallback;
|
334
|
-
},
|
335
|
-
get onDisconnected() {
|
336
|
-
return disconnectedCallback;
|
337
|
-
},
|
338
|
-
get nativeSocket() {
|
339
|
-
return ws;
|
340
|
-
},
|
341
|
-
...subscriptions.socket,
|
342
|
-
...requests.socket,
|
343
|
-
};
|
344
|
-
return socket;
|
345
|
-
};
|
346
|
-
export default ApiSocket;
|
347
|
-
//# sourceMappingURL=SocketBase.js.map
|
package/dist/SocketBase.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"SocketBase.js","sourceRoot":"","sources":["../src/SocketBase.ts"],"names":[],"mappings":"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"}
|
package/dist/SocketLogger.d.ts
DELETED
@@ -1,9 +0,0 @@
|
|
1
|
-
import * as Options from './types/options.js';
|
2
|
-
import { Logger } from './types/logger.js';
|
3
|
-
export declare const LOG_NONE = "none";
|
4
|
-
export declare const LOG_ERROR = "error";
|
5
|
-
export declare const LOG_WARN = "warn";
|
6
|
-
export declare const LOG_INFO = "info";
|
7
|
-
export declare const LOG_VERBOSE = "verbose";
|
8
|
-
declare const Logger: ({ logLevel: logSetting, logOutput }: Options.LoggerOptions) => Logger;
|
9
|
-
export default Logger;
|
package/dist/SocketLogger.js
DELETED
@@ -1,69 +0,0 @@
|
|
1
|
-
import chalk from 'chalk';
|
2
|
-
// @ts-ignore
|
3
|
-
import { isBrowser, isJsDom } from 'is-in-browser';
|
4
|
-
import invariant from 'invariant';
|
5
|
-
export const LOG_NONE = 'none';
|
6
|
-
export const LOG_ERROR = 'error';
|
7
|
-
export const LOG_WARN = 'warn';
|
8
|
-
export const LOG_INFO = 'info';
|
9
|
-
export const LOG_VERBOSE = 'verbose';
|
10
|
-
const Severities = {
|
11
|
-
[LOG_NONE]: -1,
|
12
|
-
[LOG_ERROR]: 0,
|
13
|
-
[LOG_WARN]: 1,
|
14
|
-
[LOG_INFO]: 2,
|
15
|
-
[LOG_VERBOSE]: 3,
|
16
|
-
};
|
17
|
-
// Should we format the line with timestamp and coloring or let the logger implementation to handle it?
|
18
|
-
// Do this when running in terminal (node.js/tests in browser env)
|
19
|
-
const shouldFormatLine = isJsDom || !isBrowser;
|
20
|
-
const Logger = ({ logLevel: logSetting = LOG_VERBOSE, logOutput = console }) => {
|
21
|
-
const logLevel = Severities[logSetting];
|
22
|
-
invariant(
|
23
|
-
// @ts-ignore: This condition will always return true since the function is always defined
|
24
|
-
logOutput.log && logOutput.info && logOutput.warn && logOutput.error, 'Invalid logOutput provided');
|
25
|
-
const formatCurrentTime = () => {
|
26
|
-
const d = new Date();
|
27
|
-
return `[${d.toLocaleDateString()} ${d.toLocaleTimeString()}:${d.getMilliseconds()}]`;
|
28
|
-
};
|
29
|
-
const print = (args, printHandler, argFormat) => {
|
30
|
-
let printableArgs = [...Array.prototype.slice.call(args)];
|
31
|
-
if (shouldFormatLine && argFormat) {
|
32
|
-
// Add the current time as well
|
33
|
-
printableArgs = [
|
34
|
-
chalk.magenta(formatCurrentTime()),
|
35
|
-
...printableArgs.map(arg => argFormat(typeof arg === 'object' ? JSON.stringify(arg, null, ' ') : arg)),
|
36
|
-
];
|
37
|
-
}
|
38
|
-
printHandler.apply(logOutput, printableArgs);
|
39
|
-
};
|
40
|
-
const Impl = {
|
41
|
-
verbose() {
|
42
|
-
if (logLevel < Severities[LOG_VERBOSE]) {
|
43
|
-
return;
|
44
|
-
}
|
45
|
-
print(arguments, logOutput.log, chalk.gray);
|
46
|
-
},
|
47
|
-
info() {
|
48
|
-
if (logLevel < Severities[LOG_INFO]) {
|
49
|
-
return;
|
50
|
-
}
|
51
|
-
print(arguments, logOutput.info, chalk.white.bold);
|
52
|
-
},
|
53
|
-
warn() {
|
54
|
-
if (logLevel < Severities[LOG_WARN]) {
|
55
|
-
return;
|
56
|
-
}
|
57
|
-
print(arguments, logOutput.warn, chalk.yellow.bold);
|
58
|
-
},
|
59
|
-
error() {
|
60
|
-
if (logLevel < Severities[LOG_ERROR]) {
|
61
|
-
return;
|
62
|
-
}
|
63
|
-
print(arguments, logOutput.error, chalk.red.bold);
|
64
|
-
},
|
65
|
-
};
|
66
|
-
return Impl;
|
67
|
-
};
|
68
|
-
export default Logger;
|
69
|
-
//# sourceMappingURL=SocketLogger.js.map
|
package/dist/SocketLogger.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"SocketLogger.js","sourceRoot":"","sources":["../src/SocketLogger.ts"],"names":[],"mappings":"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"}
|
@@ -1,14 +0,0 @@
|
|
1
|
-
import * as API from './types/api.js';
|
2
|
-
import * as APIInternal from './types/api_internal.js';
|
3
|
-
import * as Options from './types/options.js';
|
4
|
-
import * as Socket from './types/socket.js';
|
5
|
-
import { Logger } from './types/logger.js';
|
6
|
-
import { SocketRequestMethods } from './types/requests.js';
|
7
|
-
declare const SocketRequestHandler: (socket: () => Socket.APISocket, logger: Logger, { requestTimeout, ignoredRequestPaths }: Options.SocketRequestOptions) => {
|
8
|
-
socket: SocketRequestMethods;
|
9
|
-
onSocketConnected(): void;
|
10
|
-
onSocketDisconnected(): void;
|
11
|
-
handleMessage(messageObj: APIInternal.RequestSuccessResponse | APIInternal.RequestErrorResponse): void;
|
12
|
-
postAuthenticate(path: string, data: API.TokenAuthenticationData | API.CredentialsAuthenticationData | API.RefreshTokenAuthenticationData): Promise<any>;
|
13
|
-
};
|
14
|
-
export default SocketRequestHandler;
|
@@ -1,164 +0,0 @@
|
|
1
|
-
import chalk from 'chalk';
|
2
|
-
import invariant from 'invariant';
|
3
|
-
import Promise from './Promise.js';
|
4
|
-
import { eventIgnored } from './utils.js';
|
5
|
-
const SocketRequestHandler = (socket, logger, { requestTimeout = 30, ignoredRequestPaths }) => {
|
6
|
-
let callbacks = {};
|
7
|
-
let currentCallbackId = 0;
|
8
|
-
let timeoutReportInterval;
|
9
|
-
// Internal
|
10
|
-
// This creates a new callback ID for a request
|
11
|
-
const getCallbackId = () => {
|
12
|
-
if (currentCallbackId > 100000) {
|
13
|
-
currentCallbackId = 0;
|
14
|
-
}
|
15
|
-
currentCallbackId += 1;
|
16
|
-
return currentCallbackId;
|
17
|
-
};
|
18
|
-
const filterPassword = (data) => {
|
19
|
-
if (!data || !data.hasOwnProperty('password')) {
|
20
|
-
return data;
|
21
|
-
}
|
22
|
-
return {
|
23
|
-
...data,
|
24
|
-
password: '(hidden)',
|
25
|
-
};
|
26
|
-
};
|
27
|
-
const sendRequest = (method, path, data, authenticating = false) => {
|
28
|
-
// Pre-checks
|
29
|
-
if (!authenticating && !socket().isConnected()) {
|
30
|
-
logger.warn(`Attempting to send request on a non-authenticated socket: ${path}`);
|
31
|
-
return Promise.reject('Not authorized');
|
32
|
-
}
|
33
|
-
if (!socket().nativeSocket) {
|
34
|
-
logger.warn(`Attempting to send request without a socket: ${path}`);
|
35
|
-
return Promise.reject('No socket');
|
36
|
-
}
|
37
|
-
const callbackId = getCallbackId();
|
38
|
-
// Reporting
|
39
|
-
invariant(path, 'Attempting socket request without a path');
|
40
|
-
const ignored = eventIgnored(path, ignoredRequestPaths);
|
41
|
-
if (!ignored) {
|
42
|
-
logger.verbose(chalk.white.bold(callbackId.toString()), method, path, data ? filterPassword(data) : '(no data)');
|
43
|
-
}
|
44
|
-
// Callback
|
45
|
-
const resolver = Promise.pending();
|
46
|
-
callbacks[callbackId.toString()] = {
|
47
|
-
time: Date.now(),
|
48
|
-
resolver,
|
49
|
-
ignored,
|
50
|
-
};
|
51
|
-
// Actual request
|
52
|
-
const request = {
|
53
|
-
path,
|
54
|
-
method,
|
55
|
-
data,
|
56
|
-
callback_id: callbackId,
|
57
|
-
};
|
58
|
-
socket().nativeSocket.send(JSON.stringify(request));
|
59
|
-
return resolver.promise;
|
60
|
-
};
|
61
|
-
// Report timed out requests
|
62
|
-
// This is more about spotting backend issues, such as frozen threads and dropped responses
|
63
|
-
// The socket itself should handle actual connection issues
|
64
|
-
const reportTimeouts = () => {
|
65
|
-
const now = Date.now();
|
66
|
-
Object.keys(callbacks).forEach(callbackId => {
|
67
|
-
const request = callbacks[callbackId];
|
68
|
-
if (request.time + (requestTimeout * 1000) < now) {
|
69
|
-
logger.warn(`Request ${callbackId} timed out`);
|
70
|
-
}
|
71
|
-
});
|
72
|
-
};
|
73
|
-
const cancelPendingRequests = (message = 'Request cancelled') => {
|
74
|
-
Object.keys(callbacks)
|
75
|
-
.forEach(id => {
|
76
|
-
logger.verbose(`Canceling a pending request ${id} (${message})`);
|
77
|
-
const cb = callbacks[id];
|
78
|
-
cb.resolver.reject(message);
|
79
|
-
});
|
80
|
-
callbacks = {};
|
81
|
-
};
|
82
|
-
// Public
|
83
|
-
const RequestsPublic = {
|
84
|
-
put: (path, data) => {
|
85
|
-
return sendRequest('PUT', path, data);
|
86
|
-
},
|
87
|
-
patch: (path, data) => {
|
88
|
-
return sendRequest('PATCH', path, data);
|
89
|
-
},
|
90
|
-
post: (path, data) => {
|
91
|
-
return sendRequest('POST', path, data);
|
92
|
-
},
|
93
|
-
delete: (path) => {
|
94
|
-
//invariant(!data, 'No data is allowed for delete command');
|
95
|
-
return sendRequest('DELETE', path);
|
96
|
-
},
|
97
|
-
get: (path) => {
|
98
|
-
//invariant(!data, 'No data is allowed for get command');
|
99
|
-
return sendRequest('GET', path);
|
100
|
-
},
|
101
|
-
getPendingRequestCount: () => {
|
102
|
-
return Object.keys(callbacks).length;
|
103
|
-
},
|
104
|
-
};
|
105
|
-
Object.assign(RequestsPublic, {
|
106
|
-
reportRequestTimeouts: reportTimeouts, // internal method for testing
|
107
|
-
});
|
108
|
-
const formatFieldError = (error) => {
|
109
|
-
return error.field && error.code ? `${error.field} (${error.code})` : '';
|
110
|
-
};
|
111
|
-
// Shared for the socket
|
112
|
-
const RequestsInternal = {
|
113
|
-
onSocketConnected() {
|
114
|
-
timeoutReportInterval = setInterval(reportTimeouts, 30000);
|
115
|
-
},
|
116
|
-
onSocketDisconnected() {
|
117
|
-
// Clear callbacks
|
118
|
-
cancelPendingRequests('Socket disconnected');
|
119
|
-
clearTimeout(timeoutReportInterval);
|
120
|
-
},
|
121
|
-
handleMessage(messageObj) {
|
122
|
-
const id = messageObj.callback_id;
|
123
|
-
if (!callbacks.hasOwnProperty(id)) {
|
124
|
-
logger.warn('No pending request for an API response', id, messageObj);
|
125
|
-
return;
|
126
|
-
}
|
127
|
-
if (messageObj.code >= 200 && messageObj.code <= 204) {
|
128
|
-
const { data } = messageObj;
|
129
|
-
if (!callbacks[id].ignored) {
|
130
|
-
logger.verbose(chalk.green(id.toString()), 'SUCCEEDED', data ? data : '(no data)');
|
131
|
-
}
|
132
|
-
callbacks[id].resolver.resolve(data);
|
133
|
-
}
|
134
|
-
else {
|
135
|
-
const errorMessageObj = messageObj;
|
136
|
-
if (!errorMessageObj.error) {
|
137
|
-
// API should always return an error message but this isn't always the case
|
138
|
-
// (e.g. https://github.com/airdcpp/airdcpp-windows/commit/596b31a9c8c4e72f6c9279972a40ea30f10798c4)
|
139
|
-
logger.warn('Error message missing from the response (this is an API bug that should be reported)', id, messageObj);
|
140
|
-
}
|
141
|
-
const { code } = errorMessageObj;
|
142
|
-
const error = errorMessageObj.error || {
|
143
|
-
message: '(no error description)'
|
144
|
-
};
|
145
|
-
logger.warn(id, code, error.message, formatFieldError(error));
|
146
|
-
callbacks[id].resolver.reject({
|
147
|
-
message: error.message,
|
148
|
-
code,
|
149
|
-
json: error
|
150
|
-
});
|
151
|
-
}
|
152
|
-
delete callbacks[id];
|
153
|
-
},
|
154
|
-
postAuthenticate(path, data) {
|
155
|
-
return sendRequest('POST', path, data, true);
|
156
|
-
},
|
157
|
-
};
|
158
|
-
return {
|
159
|
-
...RequestsInternal,
|
160
|
-
socket: RequestsPublic,
|
161
|
-
};
|
162
|
-
};
|
163
|
-
export default SocketRequestHandler;
|
164
|
-
//# sourceMappingURL=SocketRequestHandler.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"SocketRequestHandler.js","sourceRoot":"","sources":["../src/SocketRequestHandler.ts"],"names":[],"mappings":"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"}
|
@@ -1,11 +0,0 @@
|
|
1
|
-
import { Logger } from './types/logger.js';
|
2
|
-
import * as APIInternal from './types/api_internal.js';
|
3
|
-
import * as Options from './types/options.js';
|
4
|
-
import * as Socket from './types/socket.js';
|
5
|
-
import * as Subscriptions from './types/subscriptions.js';
|
6
|
-
declare const SocketSubscriptionHandler: (socket: () => Socket.APISocket, logger: Logger, { ignoredListenerEvents }: Options.SocketSubscriptionOptions) => {
|
7
|
-
socket: Subscriptions.SocketSubscriptions;
|
8
|
-
onSocketDisconnected(): void;
|
9
|
-
handleMessage(message: APIInternal.IncomingSubscriptionEvent): void;
|
10
|
-
};
|
11
|
-
export default SocketSubscriptionHandler;
|