ssh2-sftp-client 9.0.3 → 9.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +177 -179
- package/README.org +66 -110
- package/package.json +3 -3
- package/src/index.js +600 -548
- package/src/utils.js +22 -5
package/src/utils.js
CHANGED
|
@@ -28,6 +28,18 @@ function errorListener(client, name, reject) {
|
|
|
28
28
|
return fn;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
+
function globalListener(client, evt) {
|
|
32
|
+
return () => {
|
|
33
|
+
if (client.endCalled || client.errorHandled || client.closeHandled) {
|
|
34
|
+
// we are processing an expected event handled elsewhere
|
|
35
|
+
client.debugMsg(`Global ${evt} event: Ignoring expected and handled event`);
|
|
36
|
+
} else {
|
|
37
|
+
client.debugMsg(`Global ${evt} event: Handling unexpected event`);
|
|
38
|
+
client.sftp = undefined;
|
|
39
|
+
}
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
|
|
31
43
|
function endListener(client, name, reject) {
|
|
32
44
|
const fn = function () {
|
|
33
45
|
client.sftp = undefined;
|
|
@@ -239,10 +251,10 @@ async function normalizeRemotePath(client, aPath) {
|
|
|
239
251
|
try {
|
|
240
252
|
if (aPath.startsWith('..')) {
|
|
241
253
|
const root = await client.realPath('..');
|
|
242
|
-
return root
|
|
254
|
+
return `${root}/${aPath.slice(3)}`;
|
|
243
255
|
} else if (aPath.startsWith('.')) {
|
|
244
256
|
const root = await client.realPath('.');
|
|
245
|
-
return root
|
|
257
|
+
return `${root}/${aPath.slice(2)}`;
|
|
246
258
|
}
|
|
247
259
|
return aPath;
|
|
248
260
|
} catch (err) {
|
|
@@ -277,9 +289,13 @@ function haveConnection(client, name, reject) {
|
|
|
277
289
|
function sleep(ms) {
|
|
278
290
|
return new Promise((resolve, reject) => {
|
|
279
291
|
try {
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
}
|
|
292
|
+
if (isNaN(ms) || ms < 0) {
|
|
293
|
+
reject('Argument must be anumber >= 0');
|
|
294
|
+
} else {
|
|
295
|
+
setTimeout(() => {
|
|
296
|
+
resolve(true);
|
|
297
|
+
}, ms);
|
|
298
|
+
}
|
|
283
299
|
} catch (err) {
|
|
284
300
|
reject(err);
|
|
285
301
|
}
|
|
@@ -287,6 +303,7 @@ function sleep(ms) {
|
|
|
287
303
|
}
|
|
288
304
|
|
|
289
305
|
module.exports = {
|
|
306
|
+
globalListener,
|
|
290
307
|
errorListener,
|
|
291
308
|
endListener,
|
|
292
309
|
closeListener,
|