mirror of https://github.com/lukechilds/node.git
Ryan Dahl
15 years ago
2 changed files with 56 additions and 2 deletions
@ -0,0 +1,53 @@ |
|||||
|
require('../common'); |
||||
|
|
||||
|
http = require('http'); |
||||
|
net = require('net'); |
||||
|
|
||||
|
server = http.createServer(function (req, res) { |
||||
|
error('got req'); |
||||
|
throw new Error("This shouldn't happen."); |
||||
|
}); |
||||
|
|
||||
|
server.addListener('upgrade', function (req, socket, upgradeHead) { |
||||
|
error('got upgrade event'); |
||||
|
// test that throwing an error from upgrade gets forworded
|
||||
|
// to the server'server 'error' event.
|
||||
|
throw new Error('upgrade error'); |
||||
|
}); |
||||
|
|
||||
|
gotError = false; |
||||
|
|
||||
|
server.addListener('clientError', function (e) { |
||||
|
error('got "clientError" event'); |
||||
|
assert.equal('upgrade error', e.message); |
||||
|
gotError = true; |
||||
|
}); |
||||
|
|
||||
|
server.listen(PORT); |
||||
|
|
||||
|
|
||||
|
server.addListener('listening', function () { |
||||
|
var c = net.createConnection(PORT); |
||||
|
|
||||
|
c.addListener('connect', function () { |
||||
|
error('client wrote message'); |
||||
|
c.write( "GET /blah HTTP/1.1\r\n" |
||||
|
+ "Upgrade: WebSocket\r\n" |
||||
|
+ "Connection: Upgrade\r\n" |
||||
|
+ "\r\n\r\nhello world" |
||||
|
); |
||||
|
}); |
||||
|
|
||||
|
c.addListener('end', function () { |
||||
|
c.end(); |
||||
|
}); |
||||
|
|
||||
|
c.addListener('close', function () { |
||||
|
error('client close'); |
||||
|
server.close(); |
||||
|
}); |
||||
|
}); |
||||
|
|
||||
|
process.addListener('exit', function () { |
||||
|
assert.ok(gotError); |
||||
|
}); |
Loading…
Reference in new issue