/
var
/
www
/
greso.tech
/
server
/
nsm
/
node_modules
/
@grpc
/
grpc-js
/
build
/
src
/
/var/www/greso.tech/server/nsm/node_modules/@grpc/grpc-js/build/src
mkdir
upload
Name
Size
Mode
Actions
generated/
-
0755
rm
admin.d.ts
447
0644
edit
dl
rm
admin.js
1277
0644
edit
dl
rm
admin.js.map
471
0644
edit
dl
rm
backoff-timeout.d.ts
2187
0644
edit
dl
rm
backoff-timeout.js
5071
0644
edit
dl
rm
backoff-timeout.js.map
2911
0644
edit
dl
rm
call-credentials-filter.d.ts
684
0644
edit
dl
rm
call-credentials-filter.js
3274
0644
edit
dl
rm
call-credentials-filter.js.map
1724
0644
edit
dl
rm
call-credentials.d.ts
2407
0644
edit
dl
rm
call-credentials.js
5178
0644
edit
dl
rm
call-credentials.js.map
3363
0644
edit
dl
rm
call-interface.d.ts
2834
0644
edit
dl
rm
call-interface.js
3143
0644
edit
dl
rm
call-interface.js.map
1888
0644
edit
dl
rm
call-number.d.ts
53
0644
edit
dl
rm
call-number.js
885
0644
edit
dl
rm
call-number.js.map
240
0644
edit
dl
rm
call-stream.d.ts
5795
0644
edit
dl
rm
call-stream.js
30144
0644
edit
dl
rm
call-stream.js.map
18516
0644
edit
dl
rm
call.d.ts
3600
0644
edit
dl
rm
call.js
5073
0644
edit
dl
rm
call.js.map
2885
0644
edit
dl
rm
channel-credentials.d.ts
3859
0644
edit
dl
rm
channel-credentials.js
7316
0644
edit
dl
rm
channel-credentials.js.map
3679
0644
edit
dl
rm
channel-options.d.ts
2753
0644
edit
dl
rm
channel-options.js
2430
0644
edit
dl
rm
channel-options.js.map
1346
0644
edit
dl
rm
channel.d.ts
3747
0644
edit
dl
rm
channel.js
2729
0644
edit
dl
rm
channel.js.map
1423
0644
edit
dl
rm
channelz.d.ts
3900
0644
edit
dl
rm
channelz.js
22980
0644
edit
dl
rm
channelz.js.map
17367
0644
edit
dl
rm
client-interceptors.d.ts
4611
0644
edit
dl
rm
client-interceptors.js
17787
0644
edit
dl
rm
client-interceptors.js.map
10601
0644
edit
dl
rm
client.d.ts
5817
0644
edit
dl
rm
client.js
18974
0644
edit
dl
rm
client.js.map
11855
0644
edit
dl
rm
compression-algorithms.d.ts
94
0644
edit
dl
rm
compression-algorithms.js
1158
0644
edit
dl
rm
compression-algorithms.js.map
311
0644
edit
dl
rm
compression-filter.d.ts
1215
0644
edit
dl
rm
compression-filter.js
10307
0644
edit
dl
rm
compression-filter.js.map
6265
0644
edit
dl
rm
connectivity-state.d.ts
135
0644
edit
dl
rm
connectivity-state.js
1264
0644
edit
dl
rm
connectivity-state.js.map
327
0644
edit
dl
rm
constants.d.ts
944
0644
edit
dl
rm
constants.js
3106
0644
edit
dl
rm
constants.js.map
950
0644
edit
dl
rm
control-plane-status.d.ts
169
0644
edit
dl
rm
control-plane-status.js
1581
0644
edit
dl
rm
control-plane-status.js.map
670
0644
edit
dl
rm
deadline-filter.d.ts
825
0644
edit
dl
rm
deadline-filter.js
3628
0644
edit
dl
rm
deadline-filter.js.map
2579
0644
edit
dl
rm
deadline.d.ts
752
0644
edit
dl
rm
deadline.js
3351
0644
edit
dl
rm
deadline.js.map
1919
0644
edit
dl
rm
duration.d.ts
267
0644
edit
dl
rm
duration.js
1253
0644
edit
dl
rm
duration.js.map
606
0644
edit
dl
rm
error.d.ts
134
0644
edit
dl
rm
error.js
1236
0644
edit
dl
rm
error.js.map
520
0644
edit
dl
rm
events.d.ts
521
0644
edit
dl
rm
events.js
711
0644
edit
dl
rm
events.js.map
131
0644
edit
dl
rm
experimental.d.ts
1314
0644
edit
dl
rm
experimental.js
4211
0644
edit
dl
rm
experimental.js.map
764
0644
edit
dl
rm
filter-stack.d.ts
969
0644
edit
dl
rm
filter-stack.js
2542
0644
edit
dl
rm
filter-stack.js.map
2090
0644
edit
dl
rm
filter.d.ts
1192
0644
edit
dl
rm
filter.js
1111
0644
edit
dl
rm
filter.js.map
464
0644
edit
dl
rm
http_proxy.d.ts
727
0644
edit
dl
rm
http_proxy.js
9424
0644
edit
dl
rm
http_proxy.js.map
6084
0644
edit
dl
rm
index.d.ts
5350
0644
edit
dl
rm
index.js
9234
0644
edit
dl
rm
index.js.map
3099
0644
edit
dl
rm
internal-channel.d.ts
4889
0644
edit
dl
rm
internal-channel.js
21474
0644
edit
dl
rm
internal-channel.js.map
14231
0644
edit
dl
rm
load-balancer-child-handler.d.ts
815
0644
edit
dl
rm
load-balancer-child-handler.js
5236
0644
edit
dl
rm
load-balancer-child-handler.js.map
3246
0644
edit
dl
rm
load-balancer-outlier-detection.d.ts
2663
0644
edit
dl
rm
load-balancer-outlier-detection.js
25785
0644
edit
dl
rm
load-balancer-outlier-detection.js.map
18310
0644
edit
dl
rm
load-balancer-pick-first.d.ts
2828
0644
edit
dl
rm
load-balancer-pick-first.js
17509
0644
edit
dl
rm
load-balancer-pick-first.js.map
9506
0644
edit
dl
rm
load-balancer-round-robin.d.ts
804
0644
edit
dl
rm
load-balancer-round-robin.js
7816
0644
edit
dl
rm
load-balancer-round-robin.js.map
5019
0644
edit
dl
rm
load-balancer.d.ts
4453
0644
edit
dl
rm
load-balancer.js
4845
0644
edit
dl
rm
load-balancer.js.map
2428
0644
edit
dl
rm
load-balancing-call.d.ts
1847
0644
edit
dl
rm
load-balancing-call.js
11647
0644
edit
dl
rm
load-balancing-call.js.map
7531
0644
edit
dl
rm
logging.d.ts
477
0644
edit
dl
rm
logging.js
4006
0644
edit
dl
rm
logging.js.map
2795
0644
edit
dl
rm
make-client.d.ts
3002
0644
edit
dl
rm
make-client.js
5498
0644
edit
dl
rm
make-client.js.map
3112
0644
edit
dl
rm
max-message-size-filter.d.ts
762
0644
edit
dl
rm
max-message-size-filter.js
3360
0644
edit
dl
rm
max-message-size-filter.js.map
1596
0644
edit
dl
rm
metadata.d.ts
3241
0644
edit
dl
rm
metadata.js
8839
0644
edit
dl
rm
metadata.js.map
5645
0644
edit
dl
rm
object-stream.d.ts
1604
0644
edit
dl
rm
object-stream.js
718
0644
edit
dl
rm
object-stream.js.map
145
0644
edit
dl
rm
picker.d.ts
3039
0644
edit
dl
rm
picker.js
3108
0644
edit
dl
rm
picker.js.map
1252
0644
edit
dl
rm
resolver-dns.d.ts
232
0644
edit
dl
rm
resolver-dns.js
13390
0644
edit
dl
rm
resolver-dns.js.map
7558
0644
edit
dl
rm
resolver-ip.d.ts
39
0644
edit
dl
rm
resolver-ip.js
3833
0644
edit
dl
rm
resolver-ip.js.map
2512
0644
edit
dl
rm
resolver-uds.d.ts
39
0644
edit
dl
rm
resolver-uds.js
1522
0644
edit
dl
rm
resolver-uds.js.map
823
0644
edit
dl
rm
resolver.d.ts
4288
0644
edit
dl
rm
resolver.js
3231
0644
edit
dl
rm
resolver.js.map
1399
0644
edit
dl
rm
resolving-call.d.ts
1754
0644
edit
dl
rm
resolving-call.js
10711
0644
edit
dl
rm
resolving-call.js.map
8551
0644
edit
dl
rm
resolving-load-balancer.d.ts
2839
0644
edit
dl
rm
resolving-load-balancer.js
12027
0644
edit
dl
rm
resolving-load-balancer.js.map
6285
0644
edit
dl
rm
retrying-call.d.ts
3528
0644
edit
dl
rm
retrying-call.js
24658
0644
edit
dl
rm
retrying-call.js.map
18318
0644
edit
dl
rm
server-call.d.ts
8283
0644
edit
dl
rm
server-call.js
24281
0644
edit
dl
rm
server-call.js.map
19534
0644
edit
dl
rm
server-credentials.d.ts
511
0644
edit
dl
rm
server-credentials.js
2834
0644
edit
dl
rm
server-credentials.js.map
1787
0644
edit
dl
rm
server.d.ts
2214
0644
edit
dl
rm
server.js
38251
0644
edit
dl
rm
server.js.map
26851
0644
edit
dl
rm
service-config.d.ts
2163
0644
edit
dl
rm
service-config.js
16161
0644
edit
dl
rm
service-config.js.map
10475
0644
edit
dl
rm
status-builder.d.ts
657
0644
edit
dl
rm
status-builder.js
1767
0644
edit
dl
rm
status-builder.js.map
972
0644
edit
dl
rm
stream-decoder.d.ts
313
0644
edit
dl
rm
stream-decoder.js
4267
0644
edit
dl
rm
stream-decoder.js.map
2715
0644
edit
dl
rm
subchannel-address.d.ts
950
0644
edit
dl
rm
subchannel-address.js
2228
0644
edit
dl
rm
subchannel-address.js.map
1195
0644
edit
dl
rm
subchannel-call.d.ts
2258
0644
edit
dl
rm
subchannel-call.js
20012
0644
edit
dl
rm
subchannel-call.js.map
11156
0644
edit
dl
rm
subchannel-interface.d.ts
1842
0644
edit
dl
rm
subchannel-interface.js
1703
0644
edit
dl
rm
subchannel-interface.js.map
974
0644
edit
dl
rm
subchannel-pool.d.ts
1472
0644
edit
dl
rm
subchannel-pool.js
5674
0644
edit
dl
rm
subchannel-pool.js.map
2494
0644
edit
dl
rm
subchannel.d.ts
4654
0644
edit
dl
rm
subchannel.js
14590
0644
edit
dl
rm
subchannel.js.map
8187
0644
edit
dl
rm
tls-helpers.d.ts
149
0644
edit
dl
rm
tls-helpers.js
1272
0644
edit
dl
rm
tls-helpers.js.map
502
0644
edit
dl
rm
transport.d.ts
4473
0644
edit
dl
rm
transport.js
26888
0644
edit
dl
rm
transport.js.map
14801
0644
edit
dl
rm
uri-parser.d.ts
357
0644
edit
dl
rm
uri-parser.js
3274
0644
edit
dl
rm
uri-parser.js.map
2010
0644
edit
dl
rm
Edit:
/var/www/greso.tech/server/nsm/node_modules/@grpc/grpc-js/build/src/resolver-dns.js
(13390B)
"use strict"; /* * Copyright 2019 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.setup = void 0; const resolver_1 = require("./resolver"); const dns = require("dns"); const util = require("util"); const service_config_1 = require("./service-config"); const constants_1 = require("./constants"); const metadata_1 = require("./metadata"); const logging = require("./logging"); const constants_2 = require("./constants"); const uri_parser_1 = require("./uri-parser"); const net_1 = require("net"); const backoff_timeout_1 = require("./backoff-timeout"); const TRACER_NAME = 'dns_resolver'; function trace(text) { logging.trace(constants_2.LogVerbosity.DEBUG, TRACER_NAME, text); } /** * The default TCP port to connect to if not explicitly specified in the target. */ const DEFAULT_PORT = 443; const DEFAULT_MIN_TIME_BETWEEN_RESOLUTIONS_MS = 30000; const resolveTxtPromise = util.promisify(dns.resolveTxt); const dnsLookupPromise = util.promisify(dns.lookup); /** * Merge any number of arrays into a single alternating array * @param arrays */ function mergeArrays(...arrays) { const result = []; for (let i = 0; i < Math.max.apply(null, arrays.map((array) => array.length)); i++) { for (const array of arrays) { if (i < array.length) { result.push(array[i]); } } } return result; } /** * Resolver implementation that handles DNS names and IP addresses. */ class DnsResolver { constructor(target, listener, channelOptions) { var _a, _b, _c; this.target = target; this.listener = listener; this.pendingLookupPromise = null; this.pendingTxtPromise = null; this.latestLookupResult = null; this.latestServiceConfig = null; this.latestServiceConfigError = null; this.continueResolving = false; this.isNextResolutionTimerRunning = false; this.isServiceConfigEnabled = true; trace('Resolver constructed for target ' + (0, uri_parser_1.uriToString)(target)); const hostPort = (0, uri_parser_1.splitHostPort)(target.path); if (hostPort === null) { this.ipResult = null; this.dnsHostname = null; this.port = null; } else { if ((0, net_1.isIPv4)(hostPort.host) || (0, net_1.isIPv6)(hostPort.host)) { this.ipResult = [ { host: hostPort.host, port: (_a = hostPort.port) !== null && _a !== void 0 ? _a : DEFAULT_PORT, }, ]; this.dnsHostname = null; this.port = null; } else { this.ipResult = null; this.dnsHostname = hostPort.host; this.port = (_b = hostPort.port) !== null && _b !== void 0 ? _b : DEFAULT_PORT; } } this.percentage = Math.random() * 100; if (channelOptions['grpc.service_config_disable_resolution'] === 1) { this.isServiceConfigEnabled = false; } this.defaultResolutionError = { code: constants_1.Status.UNAVAILABLE, details: `Name resolution failed for target ${(0, uri_parser_1.uriToString)(this.target)}`, metadata: new metadata_1.Metadata(), }; const backoffOptions = { initialDelay: channelOptions['grpc.initial_reconnect_backoff_ms'], maxDelay: channelOptions['grpc.max_reconnect_backoff_ms'], }; this.backoff = new backoff_timeout_1.BackoffTimeout(() => { if (this.continueResolving) { this.startResolutionWithBackoff(); } }, backoffOptions); this.backoff.unref(); this.minTimeBetweenResolutionsMs = (_c = channelOptions['grpc.dns_min_time_between_resolutions_ms']) !== null && _c !== void 0 ? _c : DEFAULT_MIN_TIME_BETWEEN_RESOLUTIONS_MS; this.nextResolutionTimer = setTimeout(() => { }, 0); clearTimeout(this.nextResolutionTimer); } /** * If the target is an IP address, just provide that address as a result. * Otherwise, initiate A, AAAA, and TXT lookups */ startResolution() { if (this.ipResult !== null) { trace('Returning IP address for target ' + (0, uri_parser_1.uriToString)(this.target)); setImmediate(() => { this.listener.onSuccessfulResolution(this.ipResult, null, null, null, {}); }); this.backoff.stop(); this.backoff.reset(); return; } if (this.dnsHostname === null) { trace('Failed to parse DNS address ' + (0, uri_parser_1.uriToString)(this.target)); setImmediate(() => { this.listener.onError({ code: constants_1.Status.UNAVAILABLE, details: `Failed to parse DNS address ${(0, uri_parser_1.uriToString)(this.target)}`, metadata: new metadata_1.Metadata(), }); }); this.stopNextResolutionTimer(); } else { if (this.pendingLookupPromise !== null) { return; } trace('Looking up DNS hostname ' + this.dnsHostname); /* We clear out latestLookupResult here to ensure that it contains the * latest result since the last time we started resolving. That way, the * TXT resolution handler can use it, but only if it finishes second. We * don't clear out any previous service config results because it's * better to use a service config that's slightly out of date than to * revert to an effectively blank one. */ this.latestLookupResult = null; const hostname = this.dnsHostname; /* We lookup both address families here and then split them up later * because when looking up a single family, dns.lookup outputs an error * if the name exists but there are no records for that family, and that * error is indistinguishable from other kinds of errors */ this.pendingLookupPromise = dnsLookupPromise(hostname, { all: true }); this.pendingLookupPromise.then((addressList) => { this.pendingLookupPromise = null; this.backoff.reset(); this.backoff.stop(); const ip4Addresses = addressList.filter((addr) => addr.family === 4); const ip6Addresses = addressList.filter((addr) => addr.family === 6); this.latestLookupResult = mergeArrays(ip6Addresses, ip4Addresses).map((addr) => ({ host: addr.address, port: +this.port })); const allAddressesString = '[' + this.latestLookupResult .map((addr) => addr.host + ':' + addr.port) .join(',') + ']'; trace('Resolved addresses for target ' + (0, uri_parser_1.uriToString)(this.target) + ': ' + allAddressesString); if (this.latestLookupResult.length === 0) { this.listener.onError(this.defaultResolutionError); return; } /* If the TXT lookup has not yet finished, both of the last two * arguments will be null, which is the equivalent of getting an * empty TXT response. When the TXT lookup does finish, its handler * can update the service config by using the same address list */ this.listener.onSuccessfulResolution(this.latestLookupResult, this.latestServiceConfig, this.latestServiceConfigError, null, {}); }, (err) => { trace('Resolution error for target ' + (0, uri_parser_1.uriToString)(this.target) + ': ' + err.message); this.pendingLookupPromise = null; this.stopNextResolutionTimer(); this.listener.onError(this.defaultResolutionError); }); /* If there already is a still-pending TXT resolution, we can just use * that result when it comes in */ if (this.isServiceConfigEnabled && this.pendingTxtPromise === null) { /* We handle the TXT query promise differently than the others because * the name resolution attempt as a whole is a success even if the TXT * lookup fails */ this.pendingTxtPromise = resolveTxtPromise(hostname); this.pendingTxtPromise.then((txtRecord) => { this.pendingTxtPromise = null; try { this.latestServiceConfig = (0, service_config_1.extractAndSelectServiceConfig)(txtRecord, this.percentage); } catch (err) { this.latestServiceConfigError = { code: constants_1.Status.UNAVAILABLE, details: 'Parsing service config failed', metadata: new metadata_1.Metadata(), }; } if (this.latestLookupResult !== null) { /* We rely here on the assumption that calling this function with * identical parameters will be essentialy idempotent, and calling * it with the same address list and a different service config * should result in a fast and seamless switchover. */ this.listener.onSuccessfulResolution(this.latestLookupResult, this.latestServiceConfig, this.latestServiceConfigError, null, {}); } }, (err) => { /* If TXT lookup fails we should do nothing, which means that we * continue to use the result of the most recent successful lookup, * or the default null config object if there has never been a * successful lookup. We do not set the latestServiceConfigError * here because that is specifically used for response validation * errors. We still need to handle this error so that it does not * bubble up as an unhandled promise rejection. */ }); } } } startNextResolutionTimer() { var _a, _b; clearTimeout(this.nextResolutionTimer); this.nextResolutionTimer = (_b = (_a = setTimeout(() => { this.stopNextResolutionTimer(); if (this.continueResolving) { this.startResolutionWithBackoff(); } }, this.minTimeBetweenResolutionsMs)).unref) === null || _b === void 0 ? void 0 : _b.call(_a); this.isNextResolutionTimerRunning = true; } stopNextResolutionTimer() { clearTimeout(this.nextResolutionTimer); this.isNextResolutionTimerRunning = false; } startResolutionWithBackoff() { if (this.pendingLookupPromise === null) { this.continueResolving = false; this.startResolution(); this.backoff.runOnce(); this.startNextResolutionTimer(); } } updateResolution() { /* If there is a pending lookup, just let it finish. Otherwise, if the * nextResolutionTimer or backoff timer is running, set the * continueResolving flag to resolve when whichever of those timers * fires. Otherwise, start resolving immediately. */ if (this.pendingLookupPromise === null) { if (this.isNextResolutionTimerRunning || this.backoff.isRunning()) { this.continueResolving = true; } else { this.startResolutionWithBackoff(); } } } destroy() { this.continueResolving = false; this.backoff.stop(); this.stopNextResolutionTimer(); } /** * Get the default authority for the given target. For IP targets, that is * the IP address. For DNS targets, it is the hostname. * @param target */ static getDefaultAuthority(target) { return target.path; } } /** * Set up the DNS resolver class by registering it as the handler for the * "dns:" prefix and as the default resolver. */ function setup() { (0, resolver_1.registerResolver)('dns', DnsResolver); (0, resolver_1.registerDefaultScheme)('dns'); } exports.setup = setup; //# sourceMappingURL=resolver-dns.js.map
Save
cmd:
run