mirror of https://github.com/lukechilds/node.git
Browse Source
this makes the separation between http and https testing cleaner PR-URL: https://github.com/iojs/io.js/pull/1049 Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Shigeki Ohtsu <ohtsu@iij.ad.jp>v1.8.0-commit
committed by
Shigeki Ohtsu
2 changed files with 110 additions and 90 deletions
@ -0,0 +1,110 @@ |
|||
var common = require('../common'); |
|||
var assert = require('assert'); |
|||
|
|||
if (!common.hasCrypto) { |
|||
console.log('1..0 # Skipped: missing crypto'); |
|||
process.exit(); |
|||
} |
|||
var https = require('https'); |
|||
|
|||
var fs = require('fs'), |
|||
options = { |
|||
key: fs.readFileSync(common.fixturesDir + '/keys/agent1-key.pem'), |
|||
cert: fs.readFileSync(common.fixturesDir + '/keys/agent1-cert.pem') |
|||
}, |
|||
httpsServer = https.createServer(options, reqHandler); |
|||
|
|||
function reqHandler(req, res) { |
|||
console.log('Got request: ' + req.headers.host + ' ' + req.url); |
|||
if (req.url === '/setHostFalse5') { |
|||
assert.equal(req.headers.host, undefined); |
|||
} else { |
|||
assert.equal(req.headers.host, 'localhost:' + common.PORT, |
|||
'Wrong host header for req[' + req.url + ']: ' + |
|||
req.headers.host); |
|||
} |
|||
res.writeHead(200, {}); |
|||
//process.nextTick(function() { res.end('ok'); });
|
|||
res.end('ok'); |
|||
} |
|||
|
|||
function thrower(er) { |
|||
throw er; |
|||
} |
|||
|
|||
testHttps(); |
|||
|
|||
function testHttps() { |
|||
|
|||
console.log('testing https on port ' + common.PORT); |
|||
|
|||
var counter = 0; |
|||
|
|||
function cb(res) { |
|||
counter--; |
|||
console.log('back from https request. counter = ' + counter); |
|||
if (counter === 0) { |
|||
httpsServer.close(); |
|||
console.log('ok'); |
|||
} |
|||
res.resume(); |
|||
} |
|||
|
|||
httpsServer.listen(common.PORT, function(er) { |
|||
if (er) throw er; |
|||
|
|||
https.get({ |
|||
method: 'GET', |
|||
path: '/' + (counter++), |
|||
host: 'localhost', |
|||
//agent: false,
|
|||
port: common.PORT, |
|||
rejectUnauthorized: false |
|||
}, cb).on('error', thrower); |
|||
|
|||
https.request({ |
|||
method: 'GET', |
|||
path: '/' + (counter++), |
|||
host: 'localhost', |
|||
//agent: false,
|
|||
port: common.PORT, |
|||
rejectUnauthorized: false |
|||
}, cb).on('error', thrower).end(); |
|||
|
|||
https.request({ |
|||
method: 'POST', |
|||
path: '/' + (counter++), |
|||
host: 'localhost', |
|||
//agent: false,
|
|||
port: common.PORT, |
|||
rejectUnauthorized: false |
|||
}, cb).on('error', thrower).end(); |
|||
|
|||
https.request({ |
|||
method: 'PUT', |
|||
path: '/' + (counter++), |
|||
host: 'localhost', |
|||
//agent: false,
|
|||
port: common.PORT, |
|||
rejectUnauthorized: false |
|||
}, cb).on('error', thrower).end(); |
|||
|
|||
https.request({ |
|||
method: 'DELETE', |
|||
path: '/' + (counter++), |
|||
host: 'localhost', |
|||
//agent: false,
|
|||
port: common.PORT, |
|||
rejectUnauthorized: false |
|||
}, cb).on('error', thrower).end(); |
|||
|
|||
https.get({ |
|||
method: 'GET', |
|||
path: '/setHostFalse' + (counter++), |
|||
host: 'localhost', |
|||
setHost: false, |
|||
port: common.PORT, |
|||
rejectUnauthorized: false |
|||
}, cb).on('error', thrower).end(); |
|||
}); |
|||
} |
Loading…
Reference in new issue