ssh2-sftp-client 7.2.2 → 8.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 +334 -166
- package/README.org +107 -81
- package/package.json +19 -15
- package/src/index.js +232 -139
- package/src/utils.js +28 -37
package/src/utils.js
CHANGED
|
@@ -58,14 +58,6 @@ function fmtError(err, name = 'sftp', eCode, retryCount) {
|
|
|
58
58
|
return newError;
|
|
59
59
|
}
|
|
60
60
|
|
|
61
|
-
function addToTempListenerList(obj, name, evt, fn) {
|
|
62
|
-
if (name in obj.tempListeners) {
|
|
63
|
-
obj.tempListeners[name].push([evt, fn]);
|
|
64
|
-
} else {
|
|
65
|
-
obj.tempListeners[name] = [[evt, fn]];
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
|
|
69
61
|
/**
|
|
70
62
|
* Simple default error listener. Will reformat the error message and
|
|
71
63
|
* throw a new error.
|
|
@@ -76,80 +68,80 @@ function addToTempListenerList(obj, name, evt, fn) {
|
|
|
76
68
|
function errorListener(client, name, reject) {
|
|
77
69
|
let fn = (err) => {
|
|
78
70
|
if (client.endCalled || client.errorHandled) {
|
|
79
|
-
client.debugMsg(`${name}: Ignoring handled error: ${err.message}`);
|
|
71
|
+
client.debugMsg(`${name} Error: Ignoring handled error: ${err.message}`);
|
|
80
72
|
} else {
|
|
81
|
-
client.debugMsg(`${name}: Handling error: ${err.message}`);
|
|
73
|
+
client.debugMsg(`${name} Error: Handling error: ${err.message}`);
|
|
82
74
|
client.errorHandled = true;
|
|
83
75
|
if (reject) {
|
|
84
|
-
client.debugMsg(`${name}: handled error with reject`);
|
|
76
|
+
client.debugMsg(`${name} Error: handled error with reject`);
|
|
85
77
|
reject(fmtError(err, name, err.code));
|
|
86
78
|
} else {
|
|
87
|
-
client.debugMsg(`${name}: handling error with throw`);
|
|
79
|
+
client.debugMsg(`${name} Error: handling error with throw`);
|
|
88
80
|
throw fmtError(err, name, err.code);
|
|
89
81
|
}
|
|
90
82
|
}
|
|
91
83
|
};
|
|
92
|
-
addToTempListenerList(client, name, 'error', fn);
|
|
93
84
|
return fn;
|
|
94
85
|
}
|
|
95
86
|
|
|
96
87
|
function endListener(client, name, reject) {
|
|
97
88
|
let fn = function () {
|
|
98
89
|
if (client.endCalled || client.endHandled) {
|
|
99
|
-
client.debugMsg(`${name}: Ignoring expected end event`);
|
|
90
|
+
client.debugMsg(`${name} End: Ignoring expected end event`);
|
|
100
91
|
} else {
|
|
101
|
-
client.debugMsg(`${name}: Handling end event`);
|
|
92
|
+
client.debugMsg(`${name} End: Handling end event`);
|
|
102
93
|
client.sftp = undefined;
|
|
103
94
|
client.endHandled = true;
|
|
104
95
|
if (reject) {
|
|
105
|
-
client.debugMsg(`${name}: handling end event with reject'`);
|
|
96
|
+
client.debugMsg(`${name} End: handling end event with reject'`);
|
|
106
97
|
reject(fmtError('Unexpected end event raised', name));
|
|
107
98
|
} else {
|
|
108
|
-
client.debugMsg(`${name}: handling end event with throw`);
|
|
99
|
+
client.debugMsg(`${name} End: handling end event with throw`);
|
|
109
100
|
throw fmtError('Unexpected end event raised', name);
|
|
110
101
|
}
|
|
111
102
|
}
|
|
112
103
|
};
|
|
113
|
-
addToTempListenerList(client, name, 'end', fn);
|
|
114
104
|
return fn;
|
|
115
105
|
}
|
|
116
106
|
|
|
117
107
|
function closeListener(client, name, reject) {
|
|
118
108
|
let fn = function () {
|
|
119
109
|
if (client.endCalled || client.closeHandled) {
|
|
120
|
-
client.debugMsg(`${name}: ignoring expected close event`);
|
|
110
|
+
client.debugMsg(`${name} Close: ignoring expected close event`);
|
|
121
111
|
} else {
|
|
122
|
-
client.debugMsg(`${name}: handling unexpected close event`);
|
|
112
|
+
client.debugMsg(`${name} Close: handling unexpected close event`);
|
|
123
113
|
client.sftp = undefined;
|
|
124
114
|
client.closeHandled = true;
|
|
125
115
|
if (reject) {
|
|
126
|
-
client.debugMsg(`${name}: handling close event with reject`);
|
|
116
|
+
client.debugMsg(`${name} Close: handling close event with reject`);
|
|
127
117
|
reject(fmtError('Unexpected close event raised', name));
|
|
128
118
|
} else {
|
|
129
|
-
client.debugMsg(`${name}: handling close event with throw`);
|
|
119
|
+
client.debugMsg(`${name} Close: handling close event with throw`);
|
|
130
120
|
throw fmtError('Unexpected close event raised', name);
|
|
131
121
|
}
|
|
132
122
|
}
|
|
133
123
|
};
|
|
134
|
-
addToTempListenerList(client, name, 'close', fn);
|
|
135
124
|
return fn;
|
|
136
125
|
}
|
|
137
126
|
|
|
138
|
-
function addTempListeners(
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
127
|
+
function addTempListeners(client, name, reject) {
|
|
128
|
+
let listeners = {
|
|
129
|
+
end: endListener(client, name, reject),
|
|
130
|
+
close: closeListener(client, name, reject),
|
|
131
|
+
error: errorListener(client, name, reject),
|
|
132
|
+
};
|
|
133
|
+
client.debugMsg(`${name}: Adding temp event listeners`);
|
|
134
|
+
client.on('end', listeners.end);
|
|
135
|
+
client.on('close', listeners.close);
|
|
136
|
+
client.on('error', listeners.error);
|
|
137
|
+
return listeners;
|
|
143
138
|
}
|
|
144
139
|
|
|
145
|
-
function removeTempListeners(
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
});
|
|
151
|
-
obj.tempListeners[name] = [];
|
|
152
|
-
}
|
|
140
|
+
function removeTempListeners(client, listeners, name) {
|
|
141
|
+
client.debugMsg(`${name}: Removing temp event listeners`);
|
|
142
|
+
client.removeListener('end', listeners.end);
|
|
143
|
+
client.removeListener('close', listeners.close);
|
|
144
|
+
client.removeListener('error', listeners.error);
|
|
153
145
|
}
|
|
154
146
|
|
|
155
147
|
/**
|
|
@@ -345,7 +337,6 @@ function sleep(ms) {
|
|
|
345
337
|
|
|
346
338
|
module.exports = {
|
|
347
339
|
fmtError,
|
|
348
|
-
addToTempListenerList,
|
|
349
340
|
errorListener,
|
|
350
341
|
endListener,
|
|
351
342
|
closeListener,
|