1
// Copyright Joyent, Inc. and other Node contributors.
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:
11
// The above copyright notice and this permission notice shall be included
12
// in all copies or substantial portions of the Software.
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.
22
var common = require('../common');
23
var assert = require('assert');
24
var https = require('https');
25
var url = require('url');
26
var fs = require('fs');
31
key: fs.readFileSync(common.fixturesDir + '/keys/agent1-key.pem'),
32
cert: fs.readFileSync(common.fixturesDir + '/keys/agent1-cert.pem')
35
var testURL = url.parse('https://localhost:' + common.PORT);
37
function check(request) {
38
// assert that I'm https
39
assert.ok(request.socket.encrypted);
42
var server = https.createServer(httpsOptions, function(request, response) {
43
// run the check function
44
check.call(this, request, response);
45
response.writeHead(200, {});
50
server.listen(common.PORT, function() {
52
var clientRequest = https.request(testURL);
53
// since there is a little magic with the agent
54
// make sure that the request uses the https.Agent
55
assert.ok(clientRequest.agent instanceof https.Agent);