1'use strict'; 2 3const common = require('../common'); 4const assert = require('assert'); 5const http = require('http'); 6 7const server = http.createServer(); 8 9server.on('upgrade', common.mustCall((request, socket) => { 10 assert.strictEqual(socket.parser, null); 11 socket.write([ 12 'HTTP/1.1 101 Switching Protocols', 13 'Connection: Upgrade', 14 'Upgrade: WebSocket', 15 '\r\n', 16 ].join('\r\n')); 17})); 18 19server.listen(common.mustCall(() => { 20 const request = http.get({ 21 port: server.address().port, 22 headers: { 23 Connection: 'Upgrade', 24 Upgrade: 'WebSocket' 25 } 26 }); 27 28 request.on('upgrade', common.mustCall((response, socket) => { 29 assert.strictEqual(socket.parser, null); 30 socket.destroy(); 31 server.close(); 32 })); 33})); 34