1'use strict'; 2const common = require('../common'); 3const assert = require('assert'); 4const http = require('http'); 5const net = require('net'); 6 7['on', 'addListener', 'prependListener'].forEach((testFn) => { 8 let received = ''; 9 10 const server = http.createServer(function(req, res) { 11 res.writeHead(200); 12 res.end(); 13 14 req.socket[testFn]('data', function(data) { 15 received += data; 16 }); 17 18 server.close(); 19 }).listen(0, function() { 20 const socket = net.connect(this.address().port, function() { 21 socket.write('PUT / HTTP/1.1\r\n\r\n'); 22 23 socket.once('data', function() { 24 socket.end('hello world'); 25 }); 26 27 socket.on('end', common.mustCall(() => { 28 assert.strictEqual(received, 'hello world', 29 `failed for socket.${testFn}`); 30 })); 31 }); 32 }); 33}); 34