• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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