airdcpp-apisocket 2.4.4 → 2.5.0-beta.1

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.
Files changed (137) hide show
  1. package/GUIDE.md +7 -7
  2. package/README.md +3 -2
  3. package/babel.config.cjs +6 -0
  4. package/dist/ApiConstants.d.ts +6 -6
  5. package/dist/ApiConstants.js +7 -7
  6. package/dist/NodeSocket.d.ts +4 -4
  7. package/dist/NodeSocket.js +24 -20
  8. package/dist/NodeSocket.js.map +1 -1
  9. package/dist/Promise.d.ts +8 -8
  10. package/dist/Promise.js +26 -26
  11. package/dist/Promise.js.map +1 -1
  12. package/dist/PublicHelpers.d.ts +2 -2
  13. package/dist/PublicHelpers.js +94 -192
  14. package/dist/PublicHelpers.js.map +1 -1
  15. package/dist/SocketBase.d.ts +4 -4
  16. package/dist/SocketBase.js +351 -359
  17. package/dist/SocketBase.js.map +1 -1
  18. package/dist/SocketLogger.d.ts +9 -9
  19. package/dist/SocketLogger.js +74 -84
  20. package/dist/SocketLogger.js.map +1 -1
  21. package/dist/SocketRequestHandler.d.ts +14 -14
  22. package/dist/SocketRequestHandler.js +168 -176
  23. package/dist/SocketRequestHandler.js.map +1 -1
  24. package/dist/SocketSubscriptionHandler.d.ts +11 -11
  25. package/dist/SocketSubscriptionHandler.js +161 -173
  26. package/dist/SocketSubscriptionHandler.js.map +1 -1
  27. package/dist/types/api.d.ts +30 -30
  28. package/dist/types/api.js +3 -3
  29. package/dist/types/api_internal.d.ts +24 -24
  30. package/dist/types/api_internal.js +2 -2
  31. package/dist/types/index.d.ts +7 -7
  32. package/dist/types/index.js +23 -19
  33. package/dist/types/index.js.map +1 -1
  34. package/dist/types/logger.d.ts +6 -6
  35. package/dist/types/logger.js +2 -2
  36. package/dist/types/options.d.ts +31 -31
  37. package/dist/types/options.js +3 -3
  38. package/dist/types/public_helpers.d.ts +19 -14
  39. package/dist/types/public_helpers.js +2 -2
  40. package/dist/types/public_helpers_internal.d.ts +27 -25
  41. package/dist/types/public_helpers_internal.js +2 -2
  42. package/dist/types/requests.d.ts +14 -14
  43. package/dist/types/requests.js +2 -2
  44. package/dist/types/socket.d.ts +23 -23
  45. package/dist/types/socket.js +2 -3
  46. package/dist/types/socket.js.map +1 -1
  47. package/dist/types/subscriptions.d.ts +20 -20
  48. package/dist/types/subscriptions.js +2 -2
  49. package/dist/utils.d.ts +2 -2
  50. package/dist/utils.js +15 -15
  51. package/dist/utils.js.map +1 -1
  52. package/dist-es/ApiConstants.d.ts +6 -6
  53. package/dist-es/ApiConstants.js +5 -5
  54. package/dist-es/NodeSocket.d.ts +4 -4
  55. package/dist-es/NodeSocket.js +4 -4
  56. package/dist-es/NodeSocket.js.map +1 -1
  57. package/dist-es/Promise.d.ts +8 -8
  58. package/dist-es/Promise.js +24 -24
  59. package/dist-es/Promise.js.map +1 -1
  60. package/dist-es/PublicHelpers.d.ts +2 -2
  61. package/dist-es/PublicHelpers.js +90 -188
  62. package/dist-es/PublicHelpers.js.map +1 -1
  63. package/dist-es/SocketBase.d.ts +4 -4
  64. package/dist-es/SocketBase.js +346 -354
  65. package/dist-es/SocketBase.js.map +1 -1
  66. package/dist-es/SocketLogger.d.ts +9 -9
  67. package/dist-es/SocketLogger.js +68 -78
  68. package/dist-es/SocketLogger.js.map +1 -1
  69. package/dist-es/SocketRequestHandler.d.ts +14 -14
  70. package/dist-es/SocketRequestHandler.js +163 -171
  71. package/dist-es/SocketRequestHandler.js.map +1 -1
  72. package/dist-es/SocketSubscriptionHandler.d.ts +11 -11
  73. package/dist-es/SocketSubscriptionHandler.js +156 -168
  74. package/dist-es/SocketSubscriptionHandler.js.map +1 -1
  75. package/dist-es/types/api.d.ts +30 -30
  76. package/dist-es/types/api.js +2 -2
  77. package/dist-es/types/api_internal.d.ts +24 -24
  78. package/dist-es/types/api_internal.js +1 -1
  79. package/dist-es/types/index.d.ts +7 -7
  80. package/dist-es/types/index.js +7 -7
  81. package/dist-es/types/index.js.map +1 -1
  82. package/dist-es/types/logger.d.ts +6 -6
  83. package/dist-es/types/logger.js +1 -1
  84. package/dist-es/types/options.d.ts +31 -31
  85. package/dist-es/types/options.js +2 -2
  86. package/dist-es/types/public_helpers.d.ts +19 -14
  87. package/dist-es/types/public_helpers.js +1 -1
  88. package/dist-es/types/public_helpers_internal.d.ts +27 -25
  89. package/dist-es/types/public_helpers_internal.js +1 -1
  90. package/dist-es/types/requests.d.ts +14 -14
  91. package/dist-es/types/requests.js +1 -1
  92. package/dist-es/types/socket.d.ts +23 -23
  93. package/dist-es/types/socket.js +1 -2
  94. package/dist-es/types/socket.js.map +1 -1
  95. package/dist-es/types/subscriptions.d.ts +20 -20
  96. package/dist-es/types/subscriptions.js +1 -1
  97. package/dist-es/utils.d.ts +2 -2
  98. package/dist-es/utils.js +11 -11
  99. package/dist-es/utils.js.map +1 -1
  100. package/jest.config.js +15 -3
  101. package/package.json +15 -13
  102. package/src/NodeSocket.ts +3 -3
  103. package/src/PublicHelpers.ts +11 -10
  104. package/src/SocketBase.ts +9 -9
  105. package/src/SocketLogger.ts +6 -6
  106. package/src/SocketRequestHandler.ts +10 -10
  107. package/src/SocketSubscriptionHandler.ts +10 -10
  108. package/src/tests/Socket.test.ts +29 -26
  109. package/src/tests/helpers.ts +14 -8
  110. package/src/tests/public_helpers.test.ts +7 -6
  111. package/src/types/api_internal.ts +1 -1
  112. package/src/types/index.ts +7 -7
  113. package/src/types/public_helpers.ts +7 -1
  114. package/src/types/public_helpers_internal.ts +3 -1
  115. package/src/types/requests.ts +1 -1
  116. package/src/types/socket.ts +4 -20
  117. package/src/types/subscriptions.ts +1 -1
  118. package/src/utils.ts +1 -1
  119. package/tsconfig.json +5 -10
  120. package/dist/tests/Socket.test.d.ts +0 -1
  121. package/dist/tests/Socket.test.js +0 -758
  122. package/dist/tests/Socket.test.js.map +0 -1
  123. package/dist/tests/helpers.d.ts +0 -57
  124. package/dist/tests/helpers.js +0 -178
  125. package/dist/tests/helpers.js.map +0 -1
  126. package/dist/tests/public_helpers.test.d.ts +0 -1
  127. package/dist/tests/public_helpers.test.js +0 -241
  128. package/dist/tests/public_helpers.test.js.map +0 -1
  129. package/dist-es/tests/Socket.test.d.ts +0 -1
  130. package/dist-es/tests/Socket.test.js +0 -734
  131. package/dist-es/tests/Socket.test.js.map +0 -1
  132. package/dist-es/tests/helpers.d.ts +0 -57
  133. package/dist-es/tests/helpers.js +0 -168
  134. package/dist-es/tests/helpers.js.map +0 -1
  135. package/dist-es/tests/public_helpers.test.d.ts +0 -1
  136. package/dist-es/tests/public_helpers.test.js +0 -236
  137. package/dist-es/tests/public_helpers.test.js.map +0 -1
@@ -1,177 +1,169 @@
1
- "use strict";
2
- var __assign = (this && this.__assign) || function () {
3
- __assign = Object.assign || function(t) {
4
- for (var s, i = 1, n = arguments.length; i < n; i++) {
5
- s = arguments[i];
6
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
7
- t[p] = s[p];
8
- }
9
- return t;
10
- };
11
- return __assign.apply(this, arguments);
12
- };
13
- var __importDefault = (this && this.__importDefault) || function (mod) {
14
- return (mod && mod.__esModule) ? mod : { "default": mod };
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- var chalk_1 = __importDefault(require("chalk"));
18
- var invariant_1 = __importDefault(require("invariant"));
19
- var Promise_1 = __importDefault(require("./Promise"));
20
- var utils_1 = require("./utils");
21
- var SocketRequestHandler = function (socket, logger, _a) {
22
- var _b = _a.requestTimeout, requestTimeout = _b === void 0 ? 30 : _b, ignoredRequestPaths = _a.ignoredRequestPaths;
23
- var callbacks = {};
24
- var currentCallbackId = 0;
25
- var timeoutReportInterval;
26
- // Internal
27
- // This creates a new callback ID for a request
28
- var getCallbackId = function () {
29
- if (currentCallbackId > 100000) {
30
- currentCallbackId = 0;
31
- }
32
- currentCallbackId += 1;
33
- return currentCallbackId;
34
- };
35
- var filterPassword = function (data) {
36
- if (!data || !data.hasOwnProperty('password')) {
37
- return data;
38
- }
39
- return __assign(__assign({}, data), { password: '(hidden)' });
40
- };
41
- var sendRequest = function (method, path, data, authenticating) {
42
- if (authenticating === void 0) { authenticating = false; }
43
- // Pre-checks
44
- if (!authenticating && !socket().isConnected()) {
45
- logger.warn("Attempting to send request on a non-authenticated socket: " + path);
46
- return Promise_1.default.reject('Not authorized');
47
- }
48
- if (!socket().nativeSocket) {
49
- logger.warn("Attempting to send request without a socket: " + path);
50
- return Promise_1.default.reject('No socket');
51
- }
52
- var callbackId = getCallbackId();
53
- // Reporting
54
- (0, invariant_1.default)(path, 'Attempting socket request without a path');
55
- var ignored = (0, utils_1.eventIgnored)(path, ignoredRequestPaths);
56
- if (!ignored) {
57
- logger.verbose(chalk_1.default.white.bold(callbackId.toString()), method, path, data ? filterPassword(data) : '(no data)');
58
- }
59
- // Callback
60
- var resolver = Promise_1.default.pending();
61
- callbacks[callbackId] = {
62
- time: Date.now(),
63
- resolver: resolver,
64
- ignored: ignored,
65
- };
66
- // Actual request
67
- var request = {
68
- path: path,
69
- method: method,
70
- data: data,
71
- callback_id: callbackId,
72
- };
73
- socket().nativeSocket.send(JSON.stringify(request));
74
- return resolver.promise;
75
- };
76
- // Report timed out requests
77
- // This is more about spotting backend issues, such as frozen threads and dropped responses
78
- // The socket itself should handle actual connection issues
79
- var reportTimeouts = function () {
80
- var now = Date.now();
81
- Object.keys(callbacks).forEach(function (callbackId) {
82
- var request = callbacks[callbackId];
83
- if (request.time + (requestTimeout * 1000) < now) {
84
- logger.warn("Request " + callbackId + " timed out");
85
- }
86
- });
87
- };
88
- var cancelPendingRequests = function (message) {
89
- if (message === void 0) { message = 'Request cancelled'; }
90
- Object.keys(callbacks)
91
- .forEach(function (id) {
92
- logger.verbose("Canceling a pending request " + id + " (" + message + ")");
93
- var cb = callbacks[id];
94
- cb.resolver.reject(message);
95
- });
96
- callbacks = {};
97
- };
98
- // Public
99
- var RequestsPublic = {
100
- put: function (path, data) {
101
- return sendRequest('PUT', path, data);
102
- },
103
- patch: function (path, data) {
104
- return sendRequest('PATCH', path, data);
105
- },
106
- post: function (path, data) {
107
- return sendRequest('POST', path, data);
108
- },
109
- delete: function (path) {
110
- //invariant(!data, 'No data is allowed for delete command');
111
- return sendRequest('DELETE', path);
112
- },
113
- get: function (path) {
114
- //invariant(!data, 'No data is allowed for get command');
115
- return sendRequest('GET', path);
116
- },
117
- getPendingRequestCount: function () {
118
- return Object.keys(callbacks).length;
119
- },
120
- };
121
- Object.assign(RequestsPublic, {
122
- reportRequestTimeouts: reportTimeouts, // internal method for testing
123
- });
124
- var formatFieldError = function (error) {
125
- return error.field && error.code ? error.field + " (" + error.code + ")" : '';
126
- };
127
- // Shared for the socket
128
- var RequestsInternal = {
129
- onSocketConnected: function () {
130
- timeoutReportInterval = setInterval(reportTimeouts, 30000);
131
- },
132
- onSocketDisconnected: function () {
133
- // Clear callbacks
134
- cancelPendingRequests('Socket disconnected');
135
- clearTimeout(timeoutReportInterval);
136
- },
137
- handleMessage: function (messageObj) {
138
- var id = messageObj.callback_id;
139
- if (!callbacks.hasOwnProperty(id)) {
140
- logger.warn('No pending request for an API response', id, messageObj);
141
- return;
142
- }
143
- if (messageObj.code >= 200 && messageObj.code <= 204) {
144
- var data = messageObj.data;
145
- if (!callbacks[id].ignored) {
146
- logger.verbose(chalk_1.default.green(id.toString()), 'SUCCEEDED', data ? data : '(no data)');
147
- }
148
- callbacks[id].resolver.resolve(data);
149
- }
150
- else {
151
- var errorMessageObj = messageObj;
152
- if (!errorMessageObj.error) {
153
- // API should always return an error message but this isn't always the case
154
- // (e.g. https://github.com/airdcpp/airdcpp-windows/commit/596b31a9c8c4e72f6c9279972a40ea30f10798c4)
155
- logger.warn('Error message missing from the response (this is an API bug that should be reported)', id, messageObj);
156
- }
157
- var code = errorMessageObj.code;
158
- var error = errorMessageObj.error || {
159
- message: '(no error description)'
160
- };
161
- logger.warn(id, code, error.message, formatFieldError(error));
162
- callbacks[id].resolver.reject({
163
- message: error.message,
164
- code: code,
165
- json: error
166
- });
167
- }
168
- delete callbacks[id];
169
- },
170
- postAuthenticate: function (path, data) {
171
- return sendRequest('POST', path, data, true);
172
- },
173
- };
174
- return __assign(__assign({}, RequestsInternal), { socket: RequestsPublic });
175
- };
176
- exports.default = SocketRequestHandler;
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const chalk_1 = __importDefault(require("chalk"));
7
+ const invariant_1 = __importDefault(require("invariant"));
8
+ const Promise_js_1 = __importDefault(require("./Promise.js"));
9
+ const utils_js_1 = require("./utils.js");
10
+ const SocketRequestHandler = (socket, logger, { requestTimeout = 30, ignoredRequestPaths }) => {
11
+ let callbacks = {};
12
+ let currentCallbackId = 0;
13
+ let timeoutReportInterval;
14
+ // Internal
15
+ // This creates a new callback ID for a request
16
+ const getCallbackId = () => {
17
+ if (currentCallbackId > 100000) {
18
+ currentCallbackId = 0;
19
+ }
20
+ currentCallbackId += 1;
21
+ return currentCallbackId;
22
+ };
23
+ const filterPassword = (data) => {
24
+ if (!data || !data.hasOwnProperty('password')) {
25
+ return data;
26
+ }
27
+ return {
28
+ ...data,
29
+ password: '(hidden)',
30
+ };
31
+ };
32
+ const sendRequest = (method, path, data, authenticating = false) => {
33
+ // Pre-checks
34
+ if (!authenticating && !socket().isConnected()) {
35
+ logger.warn(`Attempting to send request on a non-authenticated socket: ${path}`);
36
+ return Promise_js_1.default.reject('Not authorized');
37
+ }
38
+ if (!socket().nativeSocket) {
39
+ logger.warn(`Attempting to send request without a socket: ${path}`);
40
+ return Promise_js_1.default.reject('No socket');
41
+ }
42
+ const callbackId = getCallbackId();
43
+ // Reporting
44
+ (0, invariant_1.default)(path, 'Attempting socket request without a path');
45
+ const ignored = (0, utils_js_1.eventIgnored)(path, ignoredRequestPaths);
46
+ if (!ignored) {
47
+ logger.verbose(chalk_1.default.white.bold(callbackId.toString()), method, path, data ? filterPassword(data) : '(no data)');
48
+ }
49
+ // Callback
50
+ const resolver = Promise_js_1.default.pending();
51
+ callbacks[callbackId.toString()] = {
52
+ time: Date.now(),
53
+ resolver,
54
+ ignored,
55
+ };
56
+ // Actual request
57
+ const request = {
58
+ path,
59
+ method,
60
+ data,
61
+ callback_id: callbackId,
62
+ };
63
+ socket().nativeSocket.send(JSON.stringify(request));
64
+ return resolver.promise;
65
+ };
66
+ // Report timed out requests
67
+ // This is more about spotting backend issues, such as frozen threads and dropped responses
68
+ // The socket itself should handle actual connection issues
69
+ const reportTimeouts = () => {
70
+ const now = Date.now();
71
+ Object.keys(callbacks).forEach(callbackId => {
72
+ const request = callbacks[callbackId];
73
+ if (request.time + (requestTimeout * 1000) < now) {
74
+ logger.warn(`Request ${callbackId} timed out`);
75
+ }
76
+ });
77
+ };
78
+ const cancelPendingRequests = (message = 'Request cancelled') => {
79
+ Object.keys(callbacks)
80
+ .forEach(id => {
81
+ logger.verbose(`Canceling a pending request ${id} (${message})`);
82
+ const cb = callbacks[id];
83
+ cb.resolver.reject(message);
84
+ });
85
+ callbacks = {};
86
+ };
87
+ // Public
88
+ const RequestsPublic = {
89
+ put: (path, data) => {
90
+ return sendRequest('PUT', path, data);
91
+ },
92
+ patch: (path, data) => {
93
+ return sendRequest('PATCH', path, data);
94
+ },
95
+ post: (path, data) => {
96
+ return sendRequest('POST', path, data);
97
+ },
98
+ delete: (path) => {
99
+ //invariant(!data, 'No data is allowed for delete command');
100
+ return sendRequest('DELETE', path);
101
+ },
102
+ get: (path) => {
103
+ //invariant(!data, 'No data is allowed for get command');
104
+ return sendRequest('GET', path);
105
+ },
106
+ getPendingRequestCount: () => {
107
+ return Object.keys(callbacks).length;
108
+ },
109
+ };
110
+ Object.assign(RequestsPublic, {
111
+ reportRequestTimeouts: reportTimeouts, // internal method for testing
112
+ });
113
+ const formatFieldError = (error) => {
114
+ return error.field && error.code ? `${error.field} (${error.code})` : '';
115
+ };
116
+ // Shared for the socket
117
+ const RequestsInternal = {
118
+ onSocketConnected() {
119
+ timeoutReportInterval = setInterval(reportTimeouts, 30000);
120
+ },
121
+ onSocketDisconnected() {
122
+ // Clear callbacks
123
+ cancelPendingRequests('Socket disconnected');
124
+ clearTimeout(timeoutReportInterval);
125
+ },
126
+ handleMessage(messageObj) {
127
+ const id = messageObj.callback_id;
128
+ if (!callbacks.hasOwnProperty(id)) {
129
+ logger.warn('No pending request for an API response', id, messageObj);
130
+ return;
131
+ }
132
+ if (messageObj.code >= 200 && messageObj.code <= 204) {
133
+ const { data } = messageObj;
134
+ if (!callbacks[id].ignored) {
135
+ logger.verbose(chalk_1.default.green(id.toString()), 'SUCCEEDED', data ? data : '(no data)');
136
+ }
137
+ callbacks[id].resolver.resolve(data);
138
+ }
139
+ else {
140
+ const errorMessageObj = messageObj;
141
+ if (!errorMessageObj.error) {
142
+ // API should always return an error message but this isn't always the case
143
+ // (e.g. https://github.com/airdcpp/airdcpp-windows/commit/596b31a9c8c4e72f6c9279972a40ea30f10798c4)
144
+ logger.warn('Error message missing from the response (this is an API bug that should be reported)', id, messageObj);
145
+ }
146
+ const { code } = errorMessageObj;
147
+ const error = errorMessageObj.error || {
148
+ message: '(no error description)'
149
+ };
150
+ logger.warn(id, code, error.message, formatFieldError(error));
151
+ callbacks[id].resolver.reject({
152
+ message: error.message,
153
+ code,
154
+ json: error
155
+ });
156
+ }
157
+ delete callbacks[id];
158
+ },
159
+ postAuthenticate(path, data) {
160
+ return sendRequest('POST', path, data, true);
161
+ },
162
+ };
163
+ return {
164
+ ...RequestsInternal,
165
+ socket: RequestsPublic,
166
+ };
167
+ };
168
+ exports.default = SocketRequestHandler;
177
169
  //# sourceMappingURL=SocketRequestHandler.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SocketRequestHandler.js","sourceRoot":"","sources":["../src/SocketRequestHandler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SocketRequestHandler.js","sourceRoot":"","sources":["../src/SocketRequestHandler.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,11 @@
1
- import { Logger } from './types/logger';
2
- import * as APIInternal from './types/api_internal';
3
- import * as Options from './types/options';
4
- import * as Socket from './types/socket';
5
- import * as Subscriptions from './types/subscriptions';
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;
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;