UNPKG

1.45 kBJavaScriptView Raw
1"use strict";
2var __importDefault = (this && this.__importDefault) || function (mod) {
3 return (mod && mod.__esModule) ? mod : { "default": mod };
4};
5Object.defineProperty(exports, "__esModule", { value: true });
6const tls_1 = __importDefault(require("tls"));
7const net_1 = __importDefault(require("net"));
8const debug_1 = __importDefault(require("debug"));
9const debug = (0, debug_1.default)('mqttjs:tls');
10const buildStream = (client, opts) => {
11 opts.port = opts.port || 8883;
12 opts.host = opts.hostname || opts.host || 'localhost';
13 if (net_1.default.isIP(opts.host) === 0) {
14 opts.servername = opts.host;
15 }
16 opts.rejectUnauthorized = opts.rejectUnauthorized !== false;
17 delete opts.path;
18 debug('port %d host %s rejectUnauthorized %b', opts.port, opts.host, opts.rejectUnauthorized);
19 const connection = tls_1.default.connect(opts);
20 connection.on('secureConnect', () => {
21 if (opts.rejectUnauthorized && !connection.authorized) {
22 connection.emit('error', new Error('TLS not authorized'));
23 }
24 else {
25 connection.removeListener('error', handleTLSerrors);
26 }
27 });
28 function handleTLSerrors(err) {
29 if (opts.rejectUnauthorized) {
30 client.emit('error', err);
31 }
32 connection.end();
33 }
34 connection.on('error', handleTLSerrors);
35 return connection;
36};
37exports.default = buildStream;
38//# sourceMappingURL=tls.js.map
\No newline at end of file