@xtail/ssh
Version:
X-Tail SSH 库,包含 SSH 连接服务器的类和工具方法等
28 lines (27 loc) • 662 B
JavaScript
const l = "SSHTimeoutMiddleware", s = "SSHTimeoutMiddlewareType", c = (i, o = {}) => {
const { timeout: r, thisArg: m } = {
timeout: 5e3,
thisArg: null,
...o
};
return async (...n) => {
let e = null;
try {
const t = new Promise((u, a) => {
e = setTimeout(() => {
a(new Error(`Connection timed out after ${r}ms`));
}, r);
});
return await Promise.race([i.apply(m, n), t]);
} catch (t) {
return Promise.reject(t);
} finally {
e && clearTimeout(e);
}
};
};
export {
c as SSHTimeoutMiddleware,
s as SSHTimeoutMiddlewareType_Name,
l as SSHTimeoutMiddleware_Name
};