本文整理汇总了TypeScript中ssh2.on函数的典型用法代码示例。如果您正苦于以下问题:TypeScript on函数的具体用法?TypeScript on怎么用?TypeScript on使用的例子?那么, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了on函数的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: writeFile
writeFile (options: any, file: any) {
const conn = new ssh2(),
deferred = this.deferred(),
limit = 20;
options.attempts = 0;
conn.on('ready', () => {
conn.sftp((err, sftp) => {
const writeStream = sftp.createWriteStream(file.path);
const readStream = new Readable();
readStream.push(file.content);
readStream.push(null);
writeStream.on('close', () => {
conn.end();
deferred.resolve(file.path);
});
readStream.pipe(writeStream);
});
}).on('error', (err) => {
if (options.attempts > limit) {
deferred.reject(err);
}
options.attempts++;
conn.connect(options);
});
conn.connect(options);
return deferred.promise;
}
示例2: moveFile
moveFile (fromPath: string, toPath: string, options: any) {
const conn = new ssh2(),
deferred = this.deferred(),
limit = 20;
options.attempts = 0;
conn.on('ready', () => {
conn.sftp((err, sftp) => {
if (err) deferred.reject(err);
sftp.rename(fromPath, toPath, (err, response) => {
if (err) {
deferred.reject(err);
}
sftp.end();
deferred.resolve(response);
});
});
}).on('error', (err) => {
if (options.attempts > limit) {
deferred.reject(err);
}
options.attempts++;
conn.connect(options);
});
conn.connect(options);
return deferred.promise;
}
示例3: connect
connect (options: any, callback: any) {
const me = this,
conn = new ssh2();
conn.on('ready', () => {
conn.sftp((err, sftp) => {
callback(err, sftp);
});
});
conn.connect(options);
}
示例4: play
export function play(monogatari: string, options: PlayOptions) {
if (!fs.existsSync(options.hostsfile)) {
log.error('play', `${options.hostsfile} does not exists`);
process.exit(1);
}
const cwd: string = process.cwd();
monogatari = path.resolve(cwd, 'monogatari', monogatari);
const hostsfile = path.resolve(cwd, options.hostsfile);
const hosts = yaml.safeLoad(fs.readFileSync(hostsfile, 'utf8'))[0];
const monogataris = yaml.safeLoad(fs.readFileSync(monogatari, 'utf8'))[0];
console.log(hosts);
console.log(monogataris);
//TODO: update .d.ts of ssh2 and send PR
const client = new Connection();
client.on('ready', () => {
log.info('play', 'connected');
client.exec(monogataris.tasks[0].shell, (err, stream) => {
if(err) {
throw err;
}
stream.on('close', (code, signal) => {
log.info('play', `end code:${code}, signal:${signal}`);
client.end();
})
.on('data', data => {
log.info('play', data);
})
.stderr.on('data', data => {
log.error('play', data);
});
});
})
.connect({
host: hosts[monogataris.hosts].host,
port: hosts[monogataris.hosts].port,
username: hosts[monogataris.hosts].user,
privateKey: fs.readFileSync(options.privateKey)
});
}
示例5: readFile
readFile (options: any, file: any) {
const conn = new ssh2(),
deferred = this.deferred(),
limit = 20;
options.attempts = 0;
conn.on('ready', () => {
conn.sftp((err, sftp) => {
const stream = sftp.createReadStream(file.path);
let content = "";
stream.on('data', (chunk) => {
content += chunk;
}).on('end', () => {
conn.end();
deferred.resolve(content);
}).on('error', (err) => {
sftp.end();
deferred.reject(err);
});
});
}).on('error', (err) => {
if (options.attempts > limit) {
deferred.reject(err);
}
options.attempts++;
conn.connect(options);
});
conn.connect(options);
return deferred.promise;
}