const methodCall = (connectionMethod, methodName, parameters) => new Promise((resolve, reject) => { const networkConfiguration = connectionMethod.socketPath != null ? {path: connectionMethod.socketPath} : {port: connectionMethod.port, host: connectionMethod.host}; const stream = net.connect(networkConfiguration); const xml = Serializer.serializeMethodCall(methodName, parameters); const xmlLength = Buffer.byteLength(xml, 'utf8'); stream.on('error', reject); stream.setEncoding('UTF8'); const headerItems = [`CONTENT_LENGTH${NULL_CHAR}${xmlLength}${NULL_CHAR}`, `SCGI${NULL_CHAR}1${NULL_CHAR}`]; const headerLength = headerItems.reduce((accumulator, headerItem) => accumulator + headerItem.length, 0); stream.end(`${headerLength}:${headerItems.join('')},${xml}`); bufferStream(stream) .then(data => { rTorrentDeserializer.deserialize(data, resolve, reject); }) .catch(reject); })
start() { net.createServer((socket) => { socket.setEncoding('utf8'); socket.on('error', (err) => { socket.end(); socket.destroy(); }); socket.write('Hi There ' + socket.remoteAddress + ':' + socket.remotePort + '\r\n'); socket.setTimeout(5000); socket.on('timeout', () => { this.log(socket); socket.end(); socket.destroy(); }); socket.on('data', (data) => { this.log(socket, data); socket.end(); socket.destroy(); }); }).on('error', (err) => { this.onError(err); }).listen(this.port); }
server.on('connection', (socket) => { log('new connection from', socket.remoteAddress); socket.setEncoding('utf8');
let executed = 0 handler = net.createServer((socket) => { socket.setEncoding('utf8') socket.on('data', (data) => { for (const chunk of data.split('\n')) {
tt.plan(3) handler = net.createServer((socket) => { socket.setEncoding('utf8') socket.once('data', (data) => { const payload = JSON.parse(data)
tt.plan(3) handler = net.createServer((socket) => { socket.setEncoding('utf8') socket.once('data', (data) => { const payload = JSON.parse(data)
let executed = 0 handler = net.createServer((socket) => { socket.setEncoding('utf8') socket.on('data', (data) => { for (const chunk of data.split('\n')) {