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>
This commit is contained in:
Родитель
660509694c
Коммит
24bd4e0555
|
@ -0,0 +1,22 @@
|
|||
'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');
|
||||
});
|
||||
});
|
Загрузка…
Ссылка в новой задаче