'use strict'; const common = require('../common'); const assert = require('assert'); const http = require('http'); const server = http.createServer(); server.on('upgrade', common.mustCall((request, socket) => { assert.strictEqual(socket.parser, null); socket.write([ 'HTTP/1.1 101 Switching Protocols', 'Connection: Upgrade', 'Upgrade: WebSocket', '\r\n' ].join('\r\n')); })); server.listen(common.mustCall(() => { const request = http.get({ port: server.address().port, headers: { Connection: 'Upgrade', Upgrade: 'WebSocket' } }); request.on('upgrade', common.mustCall((response, socket) => { assert.strictEqual(socket.parser, null); socket.destroy(); server.close(); })); }));