Skip to content

Commit ef35f4d

Browse files
committed
Test for default host headers on default ports in https and http
1 parent d5c95f0 commit ef35f4d

1 file changed

Lines changed: 64 additions & 0 deletions

File tree

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
// Copyright Joyent, Inc. and other Node contributors.
2+
//
3+
// Permission is hereby granted, free of charge, to any person obtaining a
4+
// copy of this software and associated documentation files (the
5+
// "Software"), to deal in the Software without restriction, including
6+
// without limitation the rights to use, copy, modify, merge, publish,
7+
// distribute, sublicense, and/or sell copies of the Software, and to permit
8+
// persons to whom the Software is furnished to do so, subject to the
9+
// following conditions:
10+
//
11+
// The above copyright notice and this permission notice shall be included
12+
// in all copies or substantial portions of the Software.
13+
//
14+
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
15+
// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16+
// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN
17+
// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
18+
// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
19+
// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
20+
// USE OR OTHER DEALINGS IN THE SOFTWARE.
21+
22+
// This must be run as root.
23+
24+
var http = require("http"),
25+
https = require("https"),
26+
PORT = 80,
27+
SSLPORT = 443,
28+
assert = require("assert"),
29+
hostExpect = "localhost",
30+
fs = require("fs"),
31+
path = require("path"),
32+
fixtures = path.resolve(__dirname, "../fixtures/keys"),
33+
options = {
34+
key: fs.readFileSync(fixtures + '/agent1-key.pem'),
35+
cert: fs.readFileSync(fixtures + '/agent1-cert.pem')
36+
};
37+
38+
http.createServer(function (req, res) {
39+
console.error(req.headers);
40+
assert.equal(req.headers.host, hostExpect);
41+
res.writeHead(200);
42+
res.end("ok");
43+
this.close();
44+
}).listen(PORT);
45+
46+
https.createServer(options, function (req, res) {
47+
console.error(req.headers);
48+
assert.equal(req.headers.host, hostExpect);
49+
res.writeHead(200);
50+
res.end("ok");
51+
this.close();
52+
}).listen(SSLPORT);
53+
54+
http
55+
.get({ host: "localhost",
56+
port: PORT,
57+
headers: { "x-port": PORT } })
58+
.on("response", function(res) {});
59+
60+
https
61+
.get({ host: "localhost",
62+
port: SSLPORT,
63+
headers: { "x-port": SSLPORT } })
64+
.on("response", function(res) {});

0 commit comments

Comments
 (0)