WK c536178c67
Fixed connectivity to Google PubSub over proxy
Latest version has caused @google-cloud/pubsub fail to connect over a proxy connection.


Snapshot of error:

2020-08-29T10:52:45.340Z | proxy | Successfully connected to pubsub.googleapis.c
om:443 through proxy 172.16.52.252:443
2020-08-29T10:52:45.370Z | subchannel | 172.16.52.252:443 CONNECTING -> TRANSIEN
T_FAILURE
2020-08-29T10:52:45.372Z | pick_first | CONNECTING -> TRANSIENT_FAILURE
2020-08-29T10:52:45.373Z | resolving_load_balancer | dns:172.16.52.252:443 CONNE
CTING -> TRANSIENT_FAILURE
2020-08-29T10:52:45.375Z | channel | Pick result: TRANSIENT_FAILURE subchannel:
undefined status: 14 No connection established
2020-08-29T10:52:45.377Z | call_stream | [11] cancelWithStatus code: 14 details:
 "No connection established"
2020-08-29T10:52:45.379Z | call_stream | [11] ended with status: code=14 details
="No connection established"
2020-08-29T10:52:45.381Z | connectivity_state | dns:172.16.52.252:443 CONNECTING
 -> TRANSIENT_FAILURE


Before proposed fix:

    static getDefaultAuthority(target) {
        return target.path;  // this returns "pubsub.googleapis.com:443"
    }

After proposed fix:

    static getDefaultAuthority(target) {
        const hostPort = uri_parser_1.splitHostPort(target.path);  // target.path is "pubsub.googleapis.com:443"
        if (hostPort !== null) {
            return hostPort.host; // this returns "pubsub.googleapis.com"
        }
        else {
            throw new Error(`Failed to parse target ${uri_parser_1.uriToString(target)}`);
        }
    }
2020-08-29 19:05:42 +08:00
2019-11-26 13:30:53 +01:00
2017-09-13 02:06:15 +02:00
2020-06-24 14:49:10 -07:00
2017-09-13 02:06:15 +02:00
2017-08-02 15:11:07 -07:00
2017-09-13 02:06:15 +02:00
2017-08-02 15:10:19 -07:00
2019-09-25 21:44:41 +09:00

Build Status

gRPC on Node.js

Implementations

For a comparison of the features available in these two libraries, see this document

C-based Client and Server

Directory: packages/grpc-native-core (lives in the grpc@1.24.x branch) (see here for installation information)

npm package: grpc.

This is the existing, feature-rich implementation of gRPC using a C++ addon. It works on all LTS versions of Node.js on most platforms that Node.js runs on.

Pure JavaScript Client

Directory: packages/grpc-js

npm package: @grpc/grpc-js

This library implements the core functionality of gRPC purely in JavaScript, without a C++ addon. It works on the latest version of Node.js on all platforms that Node.js runs on.

Other Packages

gRPC Protobuf Loader

Directory: packages/proto-loader

npm package: @grpc/proto-loader

This library loads .proto files into objects that can be passed to the gRPC libraries.

gRPC Tools

Directory: packages/grpc-tools

npm package: grpc-tools

Distribution of protoc and the gRPC Node protoc plugin for ease of installation with npm.

gRPC Health Check Service

Directory: packages/grpc-health-check

npm package: grpc-health-check

Health check service for gRPC servers.

Description
gRPC for Node.js
Readme Apache-2.0 35 MiB
Languages
TypeScript 87.3%
JavaScript 10.2%
C++ 1.2%
Shell 0.8%
Dockerfile 0.2%
Other 0.2%