rocketmq-client-nodejs-beta
Version:
RocketMQ Node.js Client
71 lines • 4.91 kB
JavaScript
;
/**
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You 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.Endpoints = void 0;
const node_net_1 = require("node:net");
const definition_pb_1 = require("../../proto/apache/rocketmq/v2/definition_pb");
const DEFAULT_PORT = 80;
class Endpoints {
addressesList;
scheme;
/**
* URI path for grpc target, e.g:
* 127.0.0.1:10911[,127.0.0.2:10912]
*/
facade;
constructor(endpoints) {
if (typeof endpoints === 'string') {
const splits = endpoints.split(';');
this.addressesList = [];
for (const endpoint of splits) {
const [host, port] = endpoint.split(':');
if ((0, node_net_1.isIPv4)(host)) {
this.scheme = definition_pb_1.AddressScheme.IPV4;
}
else if ((0, node_net_1.isIPv6)(host)) {
this.scheme = definition_pb_1.AddressScheme.IPV6;
}
else {
this.scheme = definition_pb_1.AddressScheme.DOMAIN_NAME;
}
this.addressesList.push({ host, port: parseInt(port) || DEFAULT_PORT });
}
}
else {
this.scheme = endpoints.scheme;
this.addressesList = endpoints.addressesList;
}
this.facade = this.addressesList.map(addr => `${addr.host}:${addr.port}`).join(',');
}
getGrpcTarget() {
return this.facade;
}
toString() {
return this.facade;
}
toProtobuf() {
const endpoints = new definition_pb_1.Endpoints();
endpoints.setScheme(this.scheme);
for (const address of this.addressesList) {
endpoints.addAddresses().setHost(address.host).setPort(address.port);
}
return endpoints;
}
}
exports.Endpoints = Endpoints;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW5kcG9pbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JvdXRlL0VuZHBvaW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztHQWVHOzs7QUFFSCx1Q0FBMEM7QUFDMUMsZ0ZBQWdIO0FBRWhILE1BQU0sWUFBWSxHQUFHLEVBQUUsQ0FBQztBQUV4QixNQUFhLFNBQVM7SUFDWCxhQUFhLENBQXFCO0lBQ2xDLE1BQU0sQ0FBZ0I7SUFDL0I7OztPQUdHO0lBQ00sTUFBTSxDQUFTO0lBRXhCLFlBQVksU0FBd0M7UUFDbEQsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUNsQyxNQUFNLE1BQU0sR0FBRyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxhQUFhLEdBQUcsRUFBRSxDQUFDO1lBQ3hCLEtBQUssTUFBTSxRQUFRLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQzlCLE1BQU0sQ0FBRSxJQUFJLEVBQUUsSUFBSSxDQUFFLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFDM0MsSUFBSSxJQUFBLGlCQUFNLEVBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyw2QkFBYSxDQUFDLElBQUksQ0FBQztnQkFDbkMsQ0FBQztxQkFBTSxJQUFJLElBQUEsaUJBQU0sRUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDO29CQUN4QixJQUFJLENBQUMsTUFBTSxHQUFHLDZCQUFhLENBQUMsSUFBSSxDQUFDO2dCQUNuQyxDQUFDO3FCQUFNLENBQUM7b0JBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRyw2QkFBYSxDQUFDLFdBQVcsQ0FBQztnQkFDMUMsQ0FBQztnQkFDRCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLFlBQVksRUFBRSxDQUFDLENBQUM7WUFDMUUsQ0FBQztRQUNILENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLE1BQU0sR0FBRyxTQUFTLENBQUMsTUFBTSxDQUFDO1lBQy9CLElBQUksQ0FBQyxhQUFhLEdBQUcsU0FBUyxDQUFDLGFBQWEsQ0FBQztRQUMvQyxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDdEYsQ0FBQztJQUVELGFBQWE7UUFDWCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELFFBQVE7UUFDTixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDckIsQ0FBQztJQUVELFVBQVU7UUFDUixNQUFNLFNBQVMsR0FBRyxJQUFJLHlCQUFXLEVBQUUsQ0FBQztRQUNwQyxTQUFTLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqQyxLQUFLLE1BQU0sT0FBTyxJQUFJLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN6QyxTQUFTLENBQUMsWUFBWSxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3ZFLENBQUM7UUFDRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0NBQ0Y7QUEvQ0QsOEJBK0NDIn0=