File copy emitter middleware based on socket.io and copymitter.
npm i spero --save
Could be loaded from url /spero/spero.js
.
const prefix = '/spero';
/* could be one argument: callback */
spero(prefix, function(copier) {
const from = '/';
const to = '/tmp';
const names = [
'bin'
];
const progress = (value) => {
console.log('progress:', value);
};
const end = () => {
console.log('end');
copier.removeListener('progress', progress);
copier.removeListener('end', end);
};
const error = (data) => {
const msg = data + '\n Continue?';
const is = confirm(msg);
if (is)
return copier.continue();
copier.abort();
};
copier(from, to, names);
copier.on('progress', progress);
copier.on('end', end);
copier.on('error', error);
});
const spero = require('spero');
const http = require('http');
const express = require('express');
const io = require('socket.io');
const app = express();
const port = 1337;
const server = http.createServer(app);
const socket = io.listen(server);
server.listen(port);
app.use(spero({
online: true,
authCheck: function(socket, success) {
}
});
spero.listen(socket, {
prefix: '/spero', /* default */
root: '/', /* string or function */
});
In old node.js
environments that supports es5
only, dword
could be used with:
var spero = require('spero/legacy');
MIT