66 lines
2.2 KiB
JavaScript
66 lines
2.2 KiB
JavaScript
|
"use strict";
|
||
|
/*
|
||
|
* Copyright 2021 gRPC authors.
|
||
|
*
|
||
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
* you may not use this file except in compliance with the License.
|
||
|
* You may obtain a copy of the License at
|
||
|
*
|
||
|
* http://www.apache.org/licenses/LICENSE-2.0
|
||
|
*
|
||
|
* Unless required by applicable law or agreed to in writing, software
|
||
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
* See the License for the specific language governing permissions and
|
||
|
* limitations under the License.
|
||
|
*
|
||
|
*/
|
||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||
|
exports.stringToSubchannelAddress = exports.subchannelAddressToString = exports.subchannelAddressEqual = exports.isTcpSubchannelAddress = void 0;
|
||
|
const net_1 = require("net");
|
||
|
function isTcpSubchannelAddress(address) {
|
||
|
return 'port' in address;
|
||
|
}
|
||
|
exports.isTcpSubchannelAddress = isTcpSubchannelAddress;
|
||
|
function subchannelAddressEqual(address1, address2) {
|
||
|
if (!address1 && !address2) {
|
||
|
return true;
|
||
|
}
|
||
|
if (!address1 || !address2) {
|
||
|
return false;
|
||
|
}
|
||
|
if (isTcpSubchannelAddress(address1)) {
|
||
|
return (isTcpSubchannelAddress(address2) &&
|
||
|
address1.host === address2.host &&
|
||
|
address1.port === address2.port);
|
||
|
}
|
||
|
else {
|
||
|
return !isTcpSubchannelAddress(address2) && address1.path === address2.path;
|
||
|
}
|
||
|
}
|
||
|
exports.subchannelAddressEqual = subchannelAddressEqual;
|
||
|
function subchannelAddressToString(address) {
|
||
|
if (isTcpSubchannelAddress(address)) {
|
||
|
return address.host + ':' + address.port;
|
||
|
}
|
||
|
else {
|
||
|
return address.path;
|
||
|
}
|
||
|
}
|
||
|
exports.subchannelAddressToString = subchannelAddressToString;
|
||
|
const DEFAULT_PORT = 443;
|
||
|
function stringToSubchannelAddress(addressString, port) {
|
||
|
if ((0, net_1.isIP)(addressString)) {
|
||
|
return {
|
||
|
host: addressString,
|
||
|
port: port !== null && port !== void 0 ? port : DEFAULT_PORT,
|
||
|
};
|
||
|
}
|
||
|
else {
|
||
|
return {
|
||
|
path: addressString,
|
||
|
};
|
||
|
}
|
||
|
}
|
||
|
exports.stringToSubchannelAddress = stringToSubchannelAddress;
|
||
|
//# sourceMappingURL=subchannel-address.js.map
|