/var/www/qr4y.com/server/delivery/node_modules/@grpc/grpc-js/src
NameSizeModeActions
generated/-0755rm
admin.ts13450644editdlrm
backoff-timeout.ts47190644editdlrm
call-credentials-filter.ts30030644editdlrm
call-credentials.ts64120644editdlrm
call-stream.ts290120644editdlrm
call.ts54440644editdlrm
channel-credentials.ts87530644editdlrm
channel-options.ts32490644editdlrm
channel.ts303100644editdlrm
channelz.ts262260644editdlrm
client-interceptors.ts181000644editdlrm
client.ts242330644editdlrm
compression-algorithms.ts6820644editdlrm
compression-filter.ts101860644editdlrm
connectivity-state.ts6990644editdlrm
constants.ts16510644editdlrm
deadline-filter.ts33580644editdlrm
duration.ts10960644editdlrm
events.ts11080755editdlrm
experimental.ts13170644editdlrm
filter-stack.ts26870644editdlrm
filter.ts18010644editdlrm
http_proxy.ts88270644editdlrm
index.ts78500644editdlrm
load-balancer-child-handler.ts48630644editdlrm
load-balancer-outlier-detection.ts226950644editdlrm
load-balancer-pick-first.ts159100644editdlrm
load-balancer-round-robin.ts75810644editdlrm
load-balancer.ts74830644editdlrm
logging.ts34070644editdlrm
make-client.ts72010644editdlrm
max-message-size-filter.ts31550644editdlrm
metadata.ts90350644editdlrm
object-stream.ts22140644editdlrm
picker.ts46850644editdlrm
resolver-dns.ts129700644editdlrm
resolver-ip.ts35560644editdlrm
resolver-uds.ts16110644editdlrm
resolver.ts58020644editdlrm
resolving-load-balancer.ts114430644editdlrm
server-call.ts258250644editdlrm
server-credentials.ts28220644editdlrm
server.ts323960644editdlrm
service-config.ts105440644editdlrm
status-builder.ts17800755editdlrm
stream-decoder.ts35010755editdlrm
subchannel-address.ts21980644editdlrm
subchannel-interface.ts26430644editdlrm
subchannel-pool.ts53800644editdlrm
subchannel.ts351730644editdlrm
tls-helpers.ts10880644editdlrm
uri-parser.ts28140644editdlrm
Edit: /var/www/qr4y.com/server/delivery/node_modules/@grpc/grpc-js/src/resolver-ip.ts (3556B)
/* * 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. */ import { isIPv4, isIPv6 } from 'net'; import { StatusObject } from './call-stream'; import { ChannelOptions } from './channel-options'; import { LogVerbosity, Status } from './constants'; import { Metadata } from './metadata'; import { registerResolver, Resolver, ResolverListener } from './resolver'; import { SubchannelAddress } from './subchannel-address'; import { GrpcUri, splitHostPort, uriToString } from './uri-parser'; import * as logging from './logging'; const TRACER_NAME = 'ip_resolver'; function trace(text: string): void { logging.trace(LogVerbosity.DEBUG, TRACER_NAME, text); } const IPV4_SCHEME = 'ipv4'; const IPV6_SCHEME = 'ipv6'; /** * The default TCP port to connect to if not explicitly specified in the target. */ const DEFAULT_PORT = 443; class IpResolver implements Resolver { private addresses: SubchannelAddress[] = []; private error: StatusObject | null = null; constructor( private target: GrpcUri, private listener: ResolverListener, channelOptions: ChannelOptions ) { trace('Resolver constructed for target ' + uriToString(target)); const addresses: SubchannelAddress[] = []; if (!(target.scheme === IPV4_SCHEME || target.scheme === IPV6_SCHEME)) { this.error = { code: Status.UNAVAILABLE, details: `Unrecognized scheme ${target.scheme} in IP resolver`, metadata: new Metadata(), }; return; } const pathList = target.path.split(','); for (const path of pathList) { const hostPort = splitHostPort(path); if (hostPort === null) { this.error = { code: Status.UNAVAILABLE, details: `Failed to parse ${target.scheme} address ${path}`, metadata: new Metadata(), }; return; } if ( (target.scheme === IPV4_SCHEME && !isIPv4(hostPort.host)) || (target.scheme === IPV6_SCHEME && !isIPv6(hostPort.host)) ) { this.error = { code: Status.UNAVAILABLE, details: `Failed to parse ${target.scheme} address ${path}`, metadata: new Metadata(), }; return; } addresses.push({ host: hostPort.host, port: hostPort.port ?? DEFAULT_PORT, }); } this.addresses = addresses; trace('Parsed ' + target.scheme + ' address list ' + this.addresses); } updateResolution(): void { process.nextTick(() => { if (this.error) { this.listener.onError(this.error); } else { this.listener.onSuccessfulResolution( this.addresses, null, null, null, {} ); } }); } destroy(): void { // This resolver owns no resources, so we do nothing here. } static getDefaultAuthority(target: GrpcUri): string { return target.path.split(',')[0]; } } export function setup() { registerResolver(IPV4_SCHEME, IpResolver); registerResolver(IPV6_SCHEME, IpResolver); }