0
0
mirror of https://github.com/nodejs/node.git synced 2024-11-25 08:19:38 +01:00
nodejs/test/parallel/test-http-upgrade-yes-please.js
Ben Noordhuis 24bd4e0555 test: add http upgrade header regression test
Add a regression test for https://github.com/iojs/io.js/issues/627.

Before the http_parser rollback to 2.3.0, the request callback was
called but an 'upgrade' event was not emitted, even though there is
an Upgrade header present in the request.

PR-URL: https://github.com/iojs/io.js/pull/628
Reviewed-By: Fedor Indutny <fedor.indutny@gmail.com>
2015-01-28 16:57:12 +01:00

23 lines
593 B
JavaScript

'use strict';
var assert = require('assert');
var http = require('http');
var net = require('net');
var upgrades = 0;
process.on('exit', function() { assert.equal(upgrades, 1); });
http.createServer(assert.fail).listen(0, '127.0.0.1', function() {
this.on('upgrade', function(req, conn, head) {
conn.destroy();
this.close();
upgrades += 1;
});
var options = { host: this.address().address, port: this.address().port };
net.connect(options, function() {
this.write('GET / HTTP/1.1\r\n' +
'Upgrade: Yes, please.\r\n' +
'\r\n');
});
});