Commit Graph

1201 Commits

Author SHA1 Message Date
Yuri Golobokov da66707d3b HTTP/2 flow control tracing
subchannel_flowctrl tracer, if enabled, logs local and remote window
sizes of subchannel's HTTP2 session to debug log on the start of every
call.
2022-02-09 14:58:26 -08:00
Yuri Golobokov ae2a2ac7d0 Add HTTP/2 settings frame tracing.
This adds HTTP/2 settings frame information
to debug logs.
HTTP/2 settings frame contains important information like
max_concurrent_streams and initial_window_size useful for debugging
concurrency, latency, and throughput issues.
2022-02-08 21:52:29 -08:00
Yuri Golobokov 2334ca9dfa Add isTracerEnabled to logging 2022-02-08 21:51:26 -08:00
Michael Lumish f49ed62476 grpc-js: Increase version to 1.5.4 2022-01-31 13:55:07 -08:00
Michael Lumish ba70f7168b grpc-js: Fix exitIdle propagation and DNS IP result backoff 2022-01-31 13:54:40 -08:00
Michael Lumish 27bae2009d grpc-js: Increase version to 1.5.3 2022-01-20 09:36:44 -08:00
Michael Lumish 0a5a2321b4 grpc-js: Fix pick first shutdown reference handling 2022-01-20 09:31:09 -08:00
Michael Lumish 4b3c26382b Add subchannel interface 2022-01-18 12:53:10 -08:00
Michael Lumish b9deb5bc3c grpc-js: Increase version to 1.5.2 2022-01-18 12:35:35 -08:00
Michael Lumish db56e80b21 grpc-js: Add secureConnection error handling in server 2022-01-18 12:35:22 -08:00
Michael Lumish 903cce1df9
Merge pull request #2024 from murgatroid99/grpc-js_dns_backoff
grpc-js: Add backoff to DNS resolution attempts
2022-01-14 11:37:35 -08:00
Oskar Nyberg 500fc2c752 grpc-js: Don't use http_proxy for uds connections 2022-01-14 11:15:29 -08:00
Michael Lumish 80f31bb1c2 grpc-js: Increase version to 1.5.1 2022-01-13 15:58:37 -08:00
Michael Lumish 5a728ffdc5 grpc-js: Add backoff to DNS resolution attempts 2022-01-13 15:58:23 -08:00
Oskar Nyberg c6691c8551 grpc-js: Don't use http_proxy for uds connections 2022-01-13 16:24:48 +01:00
Michael Lumish 6a5b52182f
Merge pull request #1993 from DavyJohnes/fix-class-options-issue
grpc-js: Set provided class options to generated class
2022-01-10 15:49:58 -08:00
Michael Lumish 81ef5e33c4
Merge pull request #1988 from murgatroid99/grpc-js_securecontext_creds
grpc-js: Add credentials.createFromSecureContext
2022-01-10 14:05:58 -08:00
DavyJohnes f6d8f137a2 fix(make-client): set provided serviceName to generated class 2022-01-10 13:54:53 +03:00
Michael Lumish d1762316e2 grpc-js: Document recently-added channel options 2022-01-07 12:21:12 -08:00
Jason Praful c95357ccd1 refactor: added max session memory to docs 2022-01-07 10:56:44 +00:00
Michael Lumish ea1a266dec Update grpc-js and grpc-js-xds to version 1.5.0, and update README 2022-01-06 14:41:37 -08:00
Michael Lumish ba3bd4bdf0
Merge pull request #1996 from josephharrington/patch-1
Document grpc-js supported channel args in readme
2022-01-05 14:36:39 -08:00
Michael Lumish 0dbcbcc320
Merge pull request #2008 from grpc/@grpc/grpc-js@1.4.x
Upmerge more changes from @grpc/grpc js@1.4.x
2022-01-05 14:29:12 -08:00
Joey Harrington 78631cdad8 Document grpc-js supported channel args in readme
This moves the list of supported channel arguments from PACKAGE_COMPARISON.md into the readme, and also adds a link to the package comparison doc.

resolves #1982, resolves #1983
2022-01-04 16:39:20 -08:00
Michael Lumish fba2b9498f Fix end type again for older @types/node versions 2022-01-04 14:00:25 -08:00
Michael Lumish e2dfb8fbcf grpc-js: Increase version to 1.4.6 2022-01-04 12:42:05 -08:00
Michael Lumish 311d22e03e grpc-js: Fix compatibility with @types/node 17.0.6 2022-01-04 12:41:41 -08:00
Michael Lumish fb2ea3af9d
Merge pull request #1986 from murgatroid99/grpc-js_interceptor_metadata_message_order
grpc-js: Preserve order of metadata, messages, and call end with async interceptors
2021-12-16 11:49:55 -08:00
Michael Lumish 33c5abd163 grpc-js: Clean up some dependencies 2021-12-13 14:18:12 -05:00
Michael Lumish 8e53f034d0 grpc-js: Add credentials.createFromSecureContext 2021-12-13 10:05:37 -05:00
Cosmin-Catalin Crisan b12330abfd grpc-js: Send backoffOptions to BackoffTimeout 2021-12-10 20:20:11 +02:00
Michael Lumish 86f3ffd96c grpc-js: Update version to 1.4.5 2021-12-09 16:31:29 -05:00
Michael Lumish 7cccc39218 grpc-js: Preserve order of metadata and messages with async interceptors 2021-12-09 16:14:52 -05:00
Michael Lumish ba375e7371 Skip a test because it behaves weirdly on Mac 2021-12-09 10:48:38 -05:00
Michael Lumish e41b99dffc Fix a couple of issues with tests on Windows 2021-12-09 10:46:03 -05:00
Michael Lumish 20dbaa8e27 Make npm clean scripts platform-agnostic 2021-12-08 14:54:56 -05:00
Michael Lumish c52cb842af Add detailed assertion output for some resolver tests, skip IPv4+IPv6 test 2021-12-08 13:42:50 -05:00
Michael Lumish 40c2f61eba Fix server decompression sequencing, add tracing 2021-12-08 10:27:21 -05:00
Michael Lumish 575c2004f3 Skip some tests to make the Linux test job green 2021-12-06 12:02:52 -05:00
Michael Lumish 8df71f1913 Merge remote-tracking branch 'upstream/@grpc/grpc-js@1.4.x' into grpc-js_1.4_upmerge 2021-12-03 14:47:04 -05:00
Michael Lumish 3106057f5a grpc-js: Don't pass undefined checkServerIdentity 2021-11-17 12:36:38 -08:00
Michael Lumish 472baec1ff grpc-js: Provide full certificate in checkServerIdentity callback 2021-11-15 10:53:31 -08:00
Robert 69428b0445 simplify removal of compression prefix bytes 2021-11-09 21:26:54 -08:00
Michael Lumish 9cdd36f929
Merge branch 'master' into grpc-js_compression_support 2021-11-08 12:17:11 -08:00
Michael Lumish af966f04b8 grpc-js: Remove an extra call to registerChannelzSocket 2021-11-08 09:44:11 -08:00
Robert 96ae102eaf fix path for loading test_service proto 2021-11-05 19:59:03 -07:00
Michael Lumish cea1537c42 Merge remote-tracking branch 'upstream/@grpc/grpc-js@1.4.x' into upmerge_1.4.3 2021-11-05 14:25:42 -07:00
Michael Lumish cb29b6af0f
Merge pull request #1961 from murgatroid99/grpc-js_channelz_disable_fix
grpc-js: Fix handling of grpc.enable_channelz option
2021-11-05 13:53:53 -07:00
Michael Lumish b1be84a021 Make IPv6 parsing code compatible with Node 10 2021-11-05 11:54:15 -07:00
Michael Lumish bb26dcfd1e grpc-js: Fix handling of grpc.enable_channelz option 2021-11-05 10:12:12 -07:00
Michael Lumish 1a60c4f3a9 grpc-js: channelz: Fix algorithm for representing an IPv6 address in binary 2021-11-04 14:11:16 -07:00
Robert c4d7fab13e simplify compression filter handling of server supported encoding headers 2021-11-02 19:17:44 -07:00
Robert deff9d4df9 Merge branch 'grpc-js_compression_support' of github.com:b0b3rt/grpc-node into grpc-js_compression_support 2021-11-01 20:15:18 -07:00
Robert dc9752addc change CompressionAlgorithms to an enum 2021-11-01 19:04:21 -07:00
Robert M 5c61a6a34e
Update packages/grpc-js/src/server-call.ts
Co-authored-by: Michael Lumish <mlumish@google.com>
2021-11-01 18:38:37 -07:00
Robert 9150bdfd24 default to identity header everywhere instead of leaving it undefined 2021-10-29 19:19:09 -07:00
Robert 47bb8b669e move string split down to where it matters 2021-10-28 20:36:29 -07:00
Robert c9659b5158 persist server supported encoding header across compression filter instances 2021-10-28 20:29:47 -07:00
Robert 53a2347e69 only attempt to use custom compression filter when option value is provided 2021-10-26 14:27:07 -07:00
Robert 6ba008110b only attempt to use custom compression filter when option value is provided 2021-10-26 14:25:21 -07:00
Robert M d01ff794fc
Update error message for invalid default_compression_algorithm
Co-authored-by: Michael Lumish <mlumish@google.com>
2021-10-26 14:21:58 -07:00
Robert 25a1806e11 change year in new copyright heade 2021-10-26 14:09:09 -07:00
Robert 7a31b4a65a change test to use write instead of _write 2021-10-26 14:03:14 -07:00
Robert e03c1159ea log a warning when invalid value for grpc.default_compression_algorithm option is provided 2021-10-26 14:01:37 -07:00
Robert 21b09e25ba separate compression algorithms to avoid circular dependency 2021-10-26 13:51:42 -07:00
Robert 6d75ea1ab6 change encoding type from MetadataValue to string 2021-10-26 13:44:03 -07:00
Michael Lumish 91ae2b44b1 grpc-js: Handle undefined socket.localAddress 2021-10-26 13:19:18 -07:00
Michael Lumish c61b9696a1
Merge pull request #1944 from murgatroid99/grpc-js_disable_channelz
grpc-js: Allow users to disable channelz
2021-10-26 13:16:51 -07:00
Michael Lumish 5a49a93065
Merge pull request #1951 from howyi/master
feat(client): export `ServiceClientConstructor` type
2021-10-26 12:56:41 -07:00
Robert d68d94a5f4 re-enable NoCompress flag behavior and check Compressed Flag byte on server 2021-10-25 20:21:48 -07:00
Robert af010071fe have client restore default sendCompression if server doesnt support compression, and fix test file generation 2021-10-25 19:43:40 -07:00
Robert 959503ec94 rewrite CompressionAlgorithms to use numeric keys and export it 2021-10-25 19:14:01 -07:00
Robert 9d70f39b7e remove copied test proto file and modify npm command 2021-10-25 19:00:59 -07:00
Robert 16f1356050 remove unused compression algorithm key value 2021-10-25 18:54:16 -07:00
Robert b2ebbee7d1 revert mistaken accept-encoding client header change 2021-10-25 18:46:14 -07:00
Michael Lumish 8dbeeb1d18 grpc-js: Handle undefined socket.localAddress 2021-10-25 13:29:06 -07:00
Robert cec7e64a2b cleanup test file 2021-10-24 22:21:24 -07:00
Robert 7aa5b62008 grpc-js: Allow per-channel request compression from the client and decompression from the server 2021-10-24 21:46:23 -07:00
howyi 25e21d1fba feat(client): export ServiceClientConstructor,ProtobufTypeDefinition type 2021-10-24 21:14:16 +09:00
Michael Lumish 647654c7c1 grpc-js: Include other causes in ENHANCE_YOUR_CALM translation 2021-10-19 08:33:25 -07:00
Michael Lumish 891a918c85 grpc-js: Allow users to disable channelz 2021-10-18 13:31:08 -07:00
Michael Lumish 5139b107e0 grpc-js: Limit the number of retained channelz trace events 2021-10-18 09:29:43 -07:00
Michael Lumish 24df9a039b grpc-js: Publish missing channelz proto and type files 2021-10-13 11:11:30 -07:00
Michael Lumish 7564f60dcb grpc-js: Add tracing of channel options in channel and subchannel constructors 2021-10-12 12:25:47 -07:00
Michael Lumish 590e94e09d grpc-js: Update package versions for 1.4.0 release 2021-10-11 14:23:05 -07:00
Michael Lumish 16303d9f0b grpc-js: Fix server trace function inconsistency 2021-10-06 14:56:53 -07:00
Michael Lumish 8aec160413
Merge pull request #1924 from murgatroid99/v1.4.x_upmerge_1
Merge 1.4.x branch into master
2021-10-06 10:46:40 -07:00
Michael Lumish 6cea491a3c
Merge pull request #1917 from murgatroid99/grpc-js-xds_test_fixes
grpc-js-xds: A few fixes for xDS tests
2021-09-28 15:48:36 -07:00
Michael Lumish 1eea4b75bd In server.bindAsync, call callback in process.nextTick 2021-09-28 13:14:14 -07:00
Michael Lumish 2756a59495 Add a helper for creating ChannelControlHelper children 2021-09-27 16:12:23 -07:00
Michael Lumish 157882da45 grpc-js-xds: A few fixes for xDS tests 2021-09-27 15:45:22 -07:00
Michael Lumish 8cc5f6cd24 grpc-js: Loosen requirements on channel option types 2021-09-27 12:35:21 -07:00
Michael Lumish fc35615e83 Merge branch 'master' into grpc-js_channelz 2021-09-27 11:44:39 -07:00
Michael Lumish 4b6ea2b781 Add channelz ID to trace logs, add a few trace log lines 2021-09-27 10:47:22 -07:00
Michael Lumish d60c4ea16f Add channelz tests and fix some bugs 2021-09-27 10:46:39 -07:00
bbesset 305623e2eb adds sometimes required Host header to proxy connection 2021-09-15 10:28:40 -07:00
Michael Lumish acd9913687 Add admin interface 2021-09-15 10:26:04 -07:00
bbesset 737dae88db adds sometimes required Host header to proxy connection 2021-09-15 09:03:49 +02:00
Michael Lumish 74fdd85123 Add channelz service implementation 2021-09-13 10:58:12 -07:00
Michael Lumish bf0df1f94a Add channelz.proto and generated code 2021-09-10 16:21:12 -07:00
Michael Lumish d4574a28fb grpc-js: Add channelz support 2021-08-31 11:41:18 -07:00
Michael Lumish a6318a4d34
Merge pull request #1859 from murgatroid99/grpc-js_1.3_upmerge
Upmerge from 1.3.x to master
2021-08-12 14:54:03 -07:00
Michael Lumish 875f483cf6 grpc-js: Map ETIMEDOUT errors to UNAVAILABLE 2021-08-10 14:20:11 -07:00
Michael Lumish 770ffefe5b Merge remote-tracking branch 'upstream/@grpc/grpc-js@1.3.x' into grpc-js_1.3_upmerge 2021-08-10 09:56:36 -07:00
Michael Lumish 5db8649fe9
Merge pull request #1873 from murgatroid99/grpc-js_server_cancelled_closed
grpc-js: Check for closed server stream before sending
2021-08-09 15:15:19 -07:00
Michael Lumish ce2765f7fb grpc-js: Handle errors thrown by writing to http2 stream 2021-08-06 11:53:48 -07:00
Michael Lumish af5207262f grpc-js: Check for closed server stream before sending 2021-08-06 11:11:30 -07:00
Michael Lumish 92cc956dec
Merge pull request #1853 from murgatroid99/grpc-js-xds_http_filters
grpc-js-xds: Add HTTP Filters support
2021-08-03 09:29:13 -07:00
Michael Lumish 6161950a85 Merge remote-tracking branch 'upstream/@grpc/grpc-js@1.3.x' into grpc-js_1.3_upmerge 2021-07-19 13:45:29 -07:00
Michael Lumish 6ae2ed4a14 grpc-js: Add trace log with library version 2021-07-19 13:20:49 -07:00
Michael Lumish bd1571fa94
Merge pull request #1852 from murgatroid99/grpc-js_bind_creds_typecheck
grpc-js: Tighten server.bindAsync creds typecheck
2021-07-19 13:15:29 -07:00
Michael Lumish 776bcb4632 grpc-js: Add more trace logging around establishing connections 2021-07-19 10:12:17 -07:00
murgatroid99 af1676a5a5 Add test for passing client credentials to server 2021-07-16 16:39:26 -07:00
murgatroid99 9e4039d86b Updated text in bindAsync error test 2021-07-16 10:45:40 -07:00
murgatroid99 ae2cb672b2 Merge branch 'master' into grpc-js-xds_http_filters 2021-07-15 16:36:27 -07:00
murgatroid99 d0745b3a4c Run call config filter factories before load balancing 2021-07-15 14:56:47 -07:00
murgatroid99 6359bf066f Remove test for exact default logger identity 2021-07-15 10:55:50 -07:00
murgatroid99 312b7613de grpc-js: Tighten server.bindAsync creds typecheck 2021-07-15 10:28:15 -07:00
murgatroid99 a0f298c514 grpc-js: Split out logs for different severity levels 2021-07-15 10:17:18 -07:00
Michael Lumish 311aca31e4 grpc-js-xds: Add HTTP Filters support 2021-07-14 16:41:05 -07:00
Michael Lumish dc43851762 grpc-js: Add logging for TLS over proxy connection errors 2021-07-13 16:06:42 -07:00
Michael Lumish 08423d62ac
Merge pull request #1842 from murgatroid99/grpc-js_proxy_tls_error_log
grpc-js: Add logging for TLS over proxy connection errors
2021-07-13 16:04:17 -07:00
Michael Lumish 6b3ebbb829 grpc-js: Add logging for TLS over proxy connection errors 2021-07-08 10:27:31 -07:00
Michael Lumish 1037b23ba6 grpc-js: Format source files and fix lint errors 2021-06-29 14:40:24 -07:00
Michael Lumish 8605ef2ded Fix subchannel address import, resolver test setup 2021-06-29 10:43:45 -07:00
Michael Lumish 1452ed93aa grpc-js: Register IP resolver in index 2021-06-29 10:04:32 -07:00
Michael Lumish 82fada33ff Merge remote-tracking branch 'upstream/@grpc/grpc-js@1.3.x' into grpc-js_upmerge_from_1.3 2021-06-29 10:02:33 -07:00
Michael Lumish e7dad8b002
Merge pull request #1829 from murgatroid99/grpc-js_fix_cycles
grpc-js: Refactor code to eliminate runtime dependency cycles
2021-06-29 09:55:19 -07:00
Michael Lumish 32cd3504cc grpc-js: Add note in README about feature parity requests 2021-06-28 11:24:43 -07:00
Michael Lumish 031ae9472e grpc-js: Refactor code to eliminate runtime dependency cycles 2021-06-24 09:50:02 -07:00
Michael Lumish fa5066759d grpc-js: Unref timers for keepalive functionality 2021-06-23 14:01:56 -07:00
Michael Lumish d894809e0e grpc-js: Bump version to 1.3.3 2021-06-21 14:42:09 -07:00
Michael Lumish 118a6df067 grpc-js: Make logging behavior more similar to core 2021-06-21 13:41:54 -07:00
Michael Lumish 237ea8308a grpc-js: Make logging behavior more similar to core 2021-06-18 14:37:03 -07:00
Michael Lumish 8a38cd8549 grpc-js: Refactor FilterStack usage 2021-06-10 14:48:33 -07:00
Michael Lumish f01b6d9fca grpc-js: Export ServerErrorResponse type, which is used in public APIs 2021-06-02 13:42:41 -07:00
Michael Lumish d51551f6d7 grpc-js-xds: Add support for timeout xDS interop test
Add more logging
2021-05-19 13:25:33 -07:00
Michael Lumish f4f1d54031 grpc-js-xds: Propagate timeouts from xDS responses to method config 2021-05-17 11:08:22 -07:00
Michael Lumish bf7d200791 grpc-js: Change function check to handle async functions 2021-05-13 10:36:06 -07:00
Michael Lumish e3106b99ca Don't query the config selector for calls that have ended 2021-05-12 14:38:02 -07:00
Michael Lumish 7de0d08e29 grpc-js: Apply timeouts from service configs 2021-05-12 14:30:25 -07:00
Michael Lumish 126961a7da
Merge pull request #1780 from murgatroid99/grpc-js_econnreset_error_parsing
grpc-js: Look for ECONNRESET errors by checking the error code
2021-05-11 10:11:48 -07:00
Michael Lumish 21b5ba8d21
Merge pull request #1770 from murgatroid99/grpc-js_connectivity_improvements
grpc-js: Don't transition out of idle when discarding subchannels
2021-05-11 10:11:14 -07:00
Michael Lumish f009cd7b9f grpc-js: Look for ECONNRESET errors by code instead of errno 2021-05-10 11:06:16 -07:00
Michael Lumish cc0c8deea3 grpc-js: Make GRPC_VERBOSITY accept lower-case values 2021-05-06 13:09:16 -07:00
Michael Lumish 9253b7f104 grpc-js: Don't transition out of idle when discarding subchannels 2021-04-30 12:53:26 -07:00
Michael Lumish d82b1a3803
Merge pull request #1761 from zereraz/master
grpc-js: stricter function check than instanceof
2021-04-27 13:58:25 -07:00
zereraz 923b44bb1c grpc-js: Add type predicate to fix errors for isFunction 2021-04-28 00:18:35 +05:30
Michael Lumish d35fa3ab37
Merge pull request #1749 from murgatroid99/grpc-js_v1.3.0_bump
grpc-js: Update versions and xDS feature list
2021-04-27 10:47:25 -07:00
zereraz 7a8cd5a4bd grpc-js: Use helper isFunction 2021-04-24 14:13:41 +05:30
Sahebjot singh 076aeccfdc
grpc-js: stricter function check than instanceof
instanceof does not work in vm context
2021-04-21 09:01:42 +05:30
Michael Lumish c9aad43358 grpc-js: Add support for ipv4 and ipv6 schemes 2021-04-16 13:35:42 -07:00
Michael Lumish bf1b078816 grpc-js: Update versions and xDS feature list 2021-04-14 14:58:36 -07:00
Michael Lumish 72136bcf0b grpc-js: Remove explicit version compatibility check 2021-04-06 10:57:11 -07:00
Michael Lumish 66d93c0f65 Merge remote-tracking branch 'upstream/@grpc/grpc-js@1.2.x' into grpc-js_1.2_upmerge_2 2021-04-02 11:19:13 -07:00
Andrey Melnik 65d4de8e6a Merge branch 'master' of https://github.com/grpc/grpc-node 2021-04-01 10:22:06 +03:00
Andrey Melnik 21176c23ab feature(grpc-js): Add possibility to provide maxSessionMemory http2 option through ChannelOptions 2021-04-01 10:21:28 +03:00
Michael Lumish 4623ecca42 grpc-js: don't send accept-encoding: gzip 2021-03-22 10:47:36 -07:00
Michael Lumish 78d3605f73
Merge pull request #1709 from murgatroid99/grpc-js_backoff_timeout_ref_electron
grpc-js: Timer ref and unref might not exist
2021-03-12 10:11:20 -08:00
Michael Lumish 602fcd23b4 grpc-js: Throw in watchConnectivityState if channel is closed 2021-03-12 09:39:50 -08:00
Michael Lumish 231619fcaa grpc-js: Timer ref and unref might not exist 2021-03-05 14:18:50 -08:00
Michael Lumish dd22f8f499 Don't send status through the filter stack twice when receiving trailers 2021-03-04 18:35:12 -08:00
Michael Lumish efc9a0f05c Don't send status through the filter stack twice when receiving trailers 2021-03-04 16:34:57 -08:00
Michael Lumish eff8cfc0f5 Merge branch 'master' into grpc-js-xds_routing_traffic_splitting_config_selector 2021-03-02 12:47:38 -08:00
Michael Lumish c5cc8b2652 grpc-js: Speculative fix for ECONNRESET errors 2021-03-02 11:55:42 -08:00
Michael Lumish 131b604f2c Add routing and traffic splitting functionality 2021-03-01 10:41:23 -08:00
Michael Lumish 60eb600410 move createGoogleDefaultCredentials from grpc-js to grpc-js-xds 2021-02-25 10:15:57 -08:00
Michael Lumish 40c19ea28b grpc-js: Don't propagate non-numeric errors from auth plugins 2021-02-16 12:42:10 -08:00
Michael Lumish 24d1a0486b
Merge pull request #1688 from murgatroid99/grpc-js_backoff_ref
grpc-js: Ref and unref backoff timer
2021-02-12 15:08:04 -08:00
Michael Lumish 097d63b14b grpc-js: Add more details to 'Failed to start HTTP/2 stream' error 2021-02-12 11:03:00 -08:00
Michael Lumish cd14345cb4 grpc-js: Ref and unref backoff timer 2021-02-11 09:55:24 -08:00
Michael Lumish 9e084bce19 Handle absence of Timer#hasRef on older Node versions 2021-02-08 11:39:15 -08:00
Michael Lumish 3806a99760 Add handling for early name resolution failures 2021-02-08 11:23:05 -08:00
Michael Lumish 259e00b866 grpc-js: Loosen dependency on @types/node 2021-02-03 11:54:13 -08:00
Michael Lumish 887d2ef677 Kick the ResolvingLoadBalancer out of IDLE when the first call is started. 2021-02-02 14:16:10 -08:00
Michael Lumish e35a7d0a25 Merge branch 'master' into grpc-js_config_selector 2021-02-01 14:20:36 -08:00
Michael Lumish 8e5f5bc18a grpc-js: Add ConfigSelector to Resolver API and plumb it through the channel 2021-02-01 14:18:24 -08:00
Michael Lumish 5ac9a1c2b6 grpc-js: Move call to user code out of try block 2021-01-25 13:24:39 -08:00
Andrey Melnik 7837e8e845 feature(grpc-js): Add possibility to provide maxSessionMemory http2 option through ChannelOptions 2021-01-20 01:00:57 +03:00
Michael Lumish 36986f618a grpc-js: round robin: re-resolve when subchannels go idle 2021-01-19 13:43:56 -08:00
Michael Lumish 0b026be131
Merge pull request #1648 from murgatroid99/grpc-js_deadline_filter_fast_cancel
grpc-js: End calls faster if the deadline has already passed
2021-01-07 12:55:49 -08:00
Michael Lumish fe4bd2641a
Merge pull request #1654 from 418sec/1-npm-grpc
Security Fix for Prototype Pollution - huntr.dev
2021-01-07 12:54:54 -08:00
Michael Lumish 374309be66 grpc-js: Propagate internal stream errors from the http2 module 2021-01-05 10:36:30 -08:00
d3v53c 6101694397 added test case 2020-12-07 22:40:14 -08:00
d3v53c b2530119b9 prototype pollution fix 2020-12-07 22:29:18 -08:00
Michael Lumish 21da990cb0 grpc-js: End calls faster if the deadline has already passed 2020-12-02 12:00:19 -08:00
Michael Lumish a006be07f4 grpc-js-xds: Shutdown the xDS client used by the resolver when the channel shuts down 2020-11-25 12:33:36 -08:00
Michael Lumish c050f97534 grpc-js: Make calls use the min of parent and own deadline when both are provided 2020-11-18 13:08:06 -08:00
Michael Lumish b78e5a0762
Merge pull request #1622 from murgatroid99/grpc-js_1.2.x
grpc-js: Update to 1.2.0
2020-11-11 14:39:39 -08:00
Michael Lumish ca6cf0f20b
Merge pull request #1616 from murgatroid99/grpc-js_deadline_cancellation_propagation
grpc-js: Implement deadline and cancellation propagation
2020-11-11 14:38:48 -08:00
Michael Lumish adfd4db9ea grpc-js: Update to 1.2.0 2020-11-09 10:53:44 -08:00
Michael Lumish cd2713f42a grpc-js: Rearrange connectivity state enum to match the native library 2020-11-09 10:45:57 -08:00
Michael Lumish 57428bf6fa
Merge pull request #1607 from murgatroid99/grpc-js_xds_separate_package
grpc-js: Separate xds code into a separate plugin package
2020-11-05 14:42:09 -08:00
Michael Lumish 38e4e48f4d
Merge pull request #1571 from murgatroid99/grpc-js_header_block_size
grpc-js: Allow clients and servers to send metadata of unlimited size
2020-11-05 13:29:58 -08:00
Michael Lumish ae2b64bd65 grpc-js: Implement deadline and cancellation propagation 2020-10-30 11:38:30 -07:00
Michael Lumish d8021d20d9
Merge pull request #1614 from hugebdu/master
grpc-js: support adding/removing services on started server
2020-10-29 14:22:52 -07:00
Daniel Shmuglin 51ca00298e implement Server#unregisterService(serviceDefinition) 2020-10-29 11:33:29 +02:00
Daniel Shmuglin 7c3ccda8ff implement Server#unregister(handlerName) 2020-10-29 10:54:33 +02:00
Daniel Shmuglin e49524a2ba Server#addService - lift the limitation of adding a new service to started server 2020-10-29 10:24:31 +02:00
Michael Lumish e4b69a8ee1 grpc-js: Add support for grpc.max_reconnect_backoff_ms channel arg 2020-10-28 13:27:44 -07:00
Michael Lumish afe4c3e082
Merge pull request #1605 from murgatroid99/grpc-js_prototype_pollution
grpc-js: Prevent prototype pollution in loadPackageDefinition
2020-10-23 10:49:18 -07:00
Michael Lumish f312326e9c Set the default port of 80 explicitly in http_proxy 2020-10-23 10:15:56 -07:00
Michael Lumish fd406fbef1 Use a regular dependency for proto-loader 2020-10-22 10:27:03 -07:00
Michael Lumish 9699de5ec6 Re-add grpc-js proto-loader dev dependency 2020-10-22 09:59:23 -07:00
Michael Lumish e71caded1b Put the google-auth-library dependency back in grpc-js 2020-10-21 14:10:37 -07:00
Michael Lumish c86f08c770 Document experimental namespace instability 2020-10-21 13:56:18 -07:00
Michael Lumish a6a8639343 grpc-js: Separate xds code into a separate plugin package 2020-10-21 13:45:22 -07:00
Michael Lumish 967eeb5443 grpc-js: Prevent prototype pollution in loadPackageDefinition 2020-10-20 11:19:22 -07:00
Michael Lumish bbd7617ba7 Move grpc-js xDS features into a separate package 2020-10-12 10:23:03 -07:00
Michael Lumish 73d3c307c9 grpc-js: xds: Add more logging around adding and removing eds and cds watchers 2020-10-05 11:27:18 -07:00
Michael Lumish a5cc154c8e
Merge pull request #1568 from murgatroid99/grpc-js_xds_credentials_bootstrap_change
grpc-js: xDS: handle insecure and google_default bootstrap creds
2020-09-28 14:08:46 -07:00
Michael Lumish dcf47460da grpc-js: xDS: Do not remove watchers in onResourceDoesNotExist 2020-09-24 14:01:15 -07:00
Michael Lumish 21adc97c4a
Merge pull request #1587 from badsyntax/export-client-streaming-type
grpc-js: Export handleClientStreamingCall type
2020-09-24 10:14:41 -07:00
Michael Lumish 62d9b1ad9b
Merge pull request #1586 from grpc/@grpc/grpc-js@1.1.x
Merge @grpc/grpc js@1.1.x into master
2020-09-24 09:42:45 -07:00
Richard Willis f3d14bd2b3 grpc-js: export handleClientStreamingCall type 2020-09-24 08:19:33 +01:00
Michael Lumish 0713b28da5 Revert testing changes 2020-09-22 12:09:13 -07:00
Michael Lumish fbdfcd4ee9 Fix tracer setting lines in xds script 2020-09-22 10:56:11 -07:00
Michael Lumish 474a496a7a Update submodules in xds test script 2020-09-22 00:47:55 -07:00
Michael Lumish 2574952e06 Use full node path in client_cmd 2020-09-21 14:15:21 -07:00
Michael Lumish c259edd7f8 Patch xds python script with debug logging 2020-09-21 13:33:37 -07:00
Michael Lumish a45d8da204 Add debugging output to xds scripts 2020-09-21 11:12:38 -07:00
Michael Lumish a1600812d1 Move timer initialization to the beginning of channel construction 2020-09-17 13:18:11 -07:00
Michael Lumish 6a32c00ed2 Bump grpc-js to 1.1.7 2020-09-17 12:15:47 -07:00
Michael Lumish 2791dbbb23 grpc-js: Add a timer that holds the event loop open while there are pending calls 2020-09-17 11:25:56 -07:00
Michael Lumish c0f31a8a02 grpc-js: Source nvm.sh in profile files in xds script to get nvm in subprocesses 2020-09-15 14:52:00 -07:00
Michael Lumish 8162efdf54 grpc-js: Install dependencies in xds script 2020-09-14 15:48:03 -07:00
Michael Lumish d32734f491 grpc-js: Allow clients and servers to send metadata of unlimited size 2020-09-11 13:03:31 -07:00
Michael Lumish 58801acf1e grpc-js: Fix path handling in xds interop script 2020-09-11 10:47:09 -07:00
Michael Lumish b99872eee7 grpc-js: xDS: handle insecure and google_default bootstrap creds 2020-09-10 14:52:24 -07:00
Michael Lumish 5e0feb5d74
Merge pull request #1552 from murgatroid99/grpc-js_xds_interop_client
grpc-js: Enable the xds URL scheme and add an interop test for it
2020-09-10 10:25:59 -07:00
Michael Lumish 46ac39b1e2 Add copyright notice to the new script 2020-09-10 09:56:45 -07:00
Michael Lumish d8e00689d0 Bump grpc-js to 1.1.6 2020-09-03 14:32:30 -07:00
Michael Lumish a45fb43091 Merge branch 'master' into grpc-js_xds_interop_client 2020-09-02 16:06:02 -07:00
Michael Lumish 1fc284f59d
Revert "fix(grpc-js): Add support for impl type to server.addService" 2020-09-02 15:17:57 -07:00
Michael Lumish 2d4ab786da Add xds kokoro config and update the test script 2020-09-02 15:00:46 -07:00
Michael Lumish e21f3374e8
Merge pull request #1556 from slavovojacek/master
fix(grpc-js): Add support for impl type to server.addService
2020-09-02 13:39:20 -07:00
Michael Lumish 1178d553e0
Merge pull request #1557 from mad-it/master
fix(grpc-js): preserve original error code when the handler of a readable stream throws an error
2020-09-02 13:38:20 -07:00
Slavo Vojacek fba1ee0cc3 fix(grpc): Fix typings 2020-09-02 20:32:31 +01:00
Slavo Vojacek 0d1d5a12fa chore(Typings): Update types 2020-09-02 16:05:10 +01:00
Jaroslav Šmolík b2d89820a3 Fix ClientOptions types
Remove index signature from ChannelOptions to fix intersection error
described in #1558 which causes issues on using ClientOptions direct
fields with TypeScript.

Removing of index signature required few minor changes:
 - adding few constant types that were used throughout the app
 - using `as const` assertion in xds-client
 - using not-so-great type cast in channelOptionsEqual

Alternative solution would be removing the index signature from
ChannelOptions explicitly in ClientOptions definition, which is not
trivial and probably calls for a generic type helper.

See: https://github.com/grpc/grpc-node/issues/1558
Fixes: #1558
2020-09-01 21:47:52 +02:00
Algin Maduro aaee068a69 fix: add addition check if the provided code is valid gRPC code 2020-09-01 13:28:23 +02:00
Algin Maduro 5e42be1b34 fix: preserve original error code if present 2020-09-01 12:59:07 +02:00
Michael Lumish 2c98a3d3f9 More EDS logging, and improved weight handling 2020-08-31 15:18:00 -07:00
Michael Lumish 286c81a924 Handle endpoint health_status, improve some logging 2020-08-31 14:04:53 -07:00
Slavo Vojacek 38e988ea03 fix(grpc-js): Add support for impl type to server.addService 2020-08-31 20:34:14 +01:00
WK 158d0dd99f
Update subchannel.ts 2020-09-01 01:40:14 +08:00
WK 7fc0035f7f
Update subchannel.ts 2020-09-01 01:30:35 +08:00
WK 148b273f19
Update http_proxy.ts 2020-09-01 01:28:53 +08:00
Michael Lumish 62bd1cab68 Add granular verbosity option to xDS interop client 2020-08-31 09:55:29 -07:00
WK 6a99983ed1
Undo changes. 2020-08-30 14:56:23 +08:00
WK 08350ec0ef
Update subchannel.ts 2020-08-30 14:52:20 +08:00
WK 6f3db6f4d8
Update http_proxy.ts 2020-08-30 14:49:54 +08:00
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
Michael Lumish 36db24e39f Set a deadline on outgoing requests in the xds interop client 2020-08-28 12:50:53 -07:00
Michael Lumish 5827b3e01d Reset saved LRS settings when the LRS stream ends 2020-08-28 11:49:03 -07:00
Michael Lumish b9962feff0 Add more interop client logging 2020-08-28 11:17:52 -07:00
Michael Lumish 60bc11285b Send buffered stats when starting LRS stream 2020-08-28 10:43:58 -07:00
Michael Lumish 338941d664 Add more LRS tracing 2020-08-28 10:06:57 -07:00
Michael Lumish 8269fd4bca priority: improve tracing, cancel failover timer when selecting child 2020-08-28 09:50:33 -07:00
Michael Lumish 597fc1c57b Use the same channel for ADS and LRS clients 2020-08-27 18:14:03 -07:00
Michael Lumish 82037fcdaf Add error logging to xDS interop client 2020-08-27 15:54:05 -07:00
Michael Lumish 1a47f78f4f Fix some trace logs, increase XdsClient keepalive interval 2020-08-27 14:17:29 -07:00
Michael Lumish c83d5a7c4d Fix keepalive ping timing, change some trace logs 2020-08-27 13:23:07 -07:00
Michael Lumish 665632f480 Add more keepalive logging 2020-08-27 12:47:53 -07:00
Michael Lumish 197cc84e7a Add more tracers, fix onResourceDoesNotExist handling 2020-08-27 11:05:54 -07:00
Michael Lumish 2404446234 Fix RDS domain search 2020-08-25 14:10:54 -07:00
Michael Lumish 36a6580921 Add more XdsClient tracing 2020-08-25 13:49:28 -07:00
Michael Lumish af949674da Add XdsClient tracers, and stream start backoff, and fix some bugs 2020-08-25 13:22:30 -07:00
Michael Lumish 8580204a73 Fix incorrect 'Method not implemented' error 2020-08-25 11:05:22 -07:00
Michael Lumish ee52de4f98 Load proto files with json option to handle Any properly 2020-08-25 10:54:56 -07:00
Michael Lumish 302b87183e Fix bug in bootstrap file validation 2020-08-25 10:05:44 -07:00
Michael Lumish 7e35657cf1 node.cluster is optional in the bootstrap file 2020-08-25 09:45:47 -07:00
Michael Lumish 0e8e1adfc4 More test script fixes, don't run xDS tests in PR tests 2020-08-24 15:53:07 -07:00
Michael Lumish 1e223048b8 Grab xds client logs in kokoro config 2020-08-21 12:58:05 -07:00
Michael Lumish eb849db1aa Add a log line to the top level of xds-interop-client 2020-08-21 12:47:17 -07:00
Michael Lumish 362b77259f Add more logging to the xDS interop client 2020-08-21 11:02:33 -07:00
Simon Woolf 141dfeb790 Channel#watchConnectivityState: handle infinite deadlines correctly
Per https://grpc.github.io/grpc/node/grpc.html#~Deadline:
"If it is a finite number, it is treated as a number of milliseconds
since the Unix Epoch. If it is Infinity, the deadline will never be
reached. If it is -Infinity, the deadline has already passed."
2020-08-21 18:18:30 +01:00
Michael Lumish 14eea7d6d2 Add separate trace and verbosity env variables for this library 2020-08-21 09:46:45 -07:00
Michael Lumish f4e9b63ddf Trace all 2020-08-21 00:10:35 -07:00
Michael Lumish bc5c29604b More test script fixes 2020-08-20 14:20:47 -07:00
Michael Lumish f246833876 Some test script fixes 2020-08-20 14:00:46 -07:00
Michael Lumish 46c065a75b chmod a+x xds.sh 2020-08-20 13:37:17 -07:00
Michael Lumish 9a73734650 Actually add the xds interop script 2020-08-20 13:36:16 -07:00
Michael Lumish 305e192700 Add xds interop test script to Linux tests 2020-08-20 13:31:23 -07:00
Michael Lumish ffef02c943 Merge branch 'master' into grpc-js_xds_interop_client 2020-08-20 11:05:00 -07:00
Michael Lumish 5abb47390f grpc-js: Move a couple of dev dependencies to prod 2020-08-20 09:24:57 -07:00
Michael Lumish 7efc5358e3
Merge pull request #1524 from murgatroid99/grpc-js_cancelled_event
grpc-js: Clean up call even if status throws an error
2020-08-19 10:09:53 -07:00
Michael Lumish c0b80a3593
Merge pull request #1548 from richardpringle/master
Prevent mutation of default headers
2020-08-19 09:55:09 -07:00
Michael Lumish 68b0609feb
Merge pull request #1525 from murgatroid99/grpc-js_server_stream_end_metadata
grpc-js: Add end(md?: Metadata) method to streaming server calls
2020-08-19 09:29:52 -07:00
Michael Lumish 4ba1639ed6
Merge pull request #1526 from murgatroid99/grpc-js_get_peer
grpc-js: Implement getPeer on the client and server
2020-08-19 09:27:56 -07:00
Richard Pringle 917b4fca77
Prevent mutation of default headers 2020-08-19 10:24:20 -04:00
Michael Lumish 7493052672 grpc-js: Move @types/node to a production dependency 2020-08-18 15:13:12 -07:00
Thomas Hunter II 1583786478
Add link to grpc docs in @grpc/grpc-js README
- Adds a link to `grpc` documentation
- Addresses some of the concerns in #1540
2020-08-16 13:50:23 -07:00
Martin f0ed1aba14
Fix incorrectly named grpc-tools flag
Was  "--generate_package_definitions" (with an s) but should be "generate_package_definition" as in the documentation here: https://github.com/grpc/grpc-node/tree/master/packages/grpc-tools
2020-08-12 16:51:42 +02:00
Michael Lumish ba7a035770 Enable 'xds' target scheme 2020-08-10 15:50:46 -07:00
Michael Lumish 94a4779bb6 Add xDS interop proto files 2020-08-10 15:49:24 -07:00
Michael Lumish 409ad95020 Add dependencies for xDS, plus some fixes 2020-08-10 15:48:42 -07:00
Michael Lumish cb63d6afcd grpc-js: Add xDS interop client and associated generated code 2020-08-10 15:48:03 -07:00
Michael Lumish 6c0012499a Implement onResourceDoesNotExist notifications 2020-08-06 13:30:24 -07:00
Michael Lumish 5dcce9ebf1 grpc-js: XdsClient: separate ADS stream handling by message type 2020-08-06 13:08:59 -07:00
Michael Lumish 76bb17091b Stop processing RDS requests after finding the matching one 2020-08-05 12:57:54 -07:00
Michael Lumish 0b146c8b07 Address PR comments 2020-08-05 12:38:43 -07:00
Michael Lumish 33a4c85f89 grpc-js: Implement getPeer on the client and server 2020-08-04 13:04:59 -07:00
Michael Lumish d9b3f9f364 grpc-js: Add end(md?: Metadata) method to streaming server calls 2020-08-04 11:37:08 -07:00
Michael Lumish ddec63af20 grpc-js: Clean up call even if status throws an error 2020-08-04 11:22:18 -07:00
Michael Lumish 52eb0df1f8 grpc-js: Add XdsResolver and corresponding XdsClient behavior 2020-08-03 10:44:28 -07:00
Michael Lumish a3b27be211 Address a couple of comments 2020-07-28 15:43:39 -07:00
Michael Lumish 669d254045 grpc-js: Add LrsLoadBalancer class 2020-07-28 11:40:42 -07:00
Michael Lumish 3c948f5d66 Fixes from PR comments 2020-07-27 09:17:06 -07:00
Michael Lumish 9fb6f48bd6 grpc-js: xDS: add support for dropping calls and reporting drops 2020-07-24 16:06:37 -07:00
Michael Lumish fbf2a487f1 Fix Metadata import path 2020-07-24 09:56:33 -07:00
Michael Lumish c9074b634c Finish implementing the CDS load balancer 2020-07-23 14:21:53 -07:00
Michael Lumish c4c53a6e9b Merge branch 'master' into grpc-js_cds_lb_policy 2020-07-23 14:02:42 -07:00
Michael Lumish 0236633ac5
Merge pull request #1512 from murgatroid99/grpc-js_default_service_config
grpc-js: Fix handling of unsuccessful TXT record lookups
2020-07-23 13:16:53 -07:00
Michael Lumish f05e9fb3f4 Refine service config error handling 2020-07-23 12:57:13 -07:00
Michael Lumish 1fc0895d17 grpc-js: Fix handling of unsuccessful TXT record lookups 2020-07-23 11:36:38 -07:00
Michael Lumish 3ddfd373c5
Merge pull request #1507 from murgatroid99/grpc-js_eds_lb_policy
grpc-js: Implement EDS load balancer
2020-07-23 11:22:11 -07:00
Michael Lumish fc2fd00da7 grpc-js: xDS Client: cache updates to pass them to new watchers 2020-07-23 10:27:01 -07:00
Michael Lumish ef225cba30 Handle changing EDS service name, add comments 2020-07-23 10:08:50 -07:00
Michael Lumish 044da58c76 Update with changes from xDS Client PR 2020-07-22 16:38:00 -07:00
Michael Lumish 50b5af09ed Merge branch 'master' into grpc-js_eds_lb_policy 2020-07-22 16:32:27 -07:00
Michael Lumish 8d759b30ab
Merge pull request #1489 from murgatroid99/grpc-js_xds_client
grpc-js: Add XdsClient class
2020-07-22 16:31:35 -07:00
Michael Lumish 6b03311475 gts fix 2020-07-21 10:10:51 -07:00
Michael Lumish a3762259a1 Fix generated code errors 2020-07-20 14:32:19 -07:00
Michael Lumish 248479bc22 grpc-js: Implement CDS LB policy 2020-07-20 13:52:02 -07:00
Michael Lumish f061e4e762 gts fix 2020-07-17 10:37:49 -07:00
Michael Lumish 5e28fb3078 grpc-js: Implement EDS load balancer 2020-07-17 10:35:04 -07:00
Michael Lumish 31b297992b Merge branch 'master' into grpc-js_eds_lb_policy 2020-07-16 10:02:18 -07:00
Michael Lumish 25b2a27991 Move proto-loader to dev deps temporarily 2020-07-14 09:39:59 -07:00
Michael Lumish a0b050aa0c gts fix 2020-07-13 13:11:54 -07:00
Michael Lumish f91c837058 Update generated code with separate service files 2020-07-13 13:02:47 -07:00
Michael Lumish bf471a96a6 Generate comments in generated code 2020-07-10 14:24:54 -07:00
Michael Lumish db75460000 Regenerate type files 2020-07-10 12:41:55 -07:00
Michael Lumish a068d589ae Don't explicitly include protobufjs when loading protos 2020-07-10 11:53:20 -07:00
Michael Lumish 930d409165 Fix include paths for loading protos 2020-07-10 08:41:58 -07:00
Michael Lumish 62bee3876e
Merge pull request #1494 from murgatroid99/grpc-js_error_fixes
grpc-js: Improve error handling in a few places
2020-07-09 11:05:35 -07:00
Michael Lumish 7cf93591ca grpc-js: Remove peerDependency on google-auth-library 2020-07-09 09:57:00 -07:00
Michael Lumish 7b1bd147a6 gts fix 2020-07-08 15:18:15 -07:00
Michael Lumish 0c41a4e039 Move the generated files to .ts instead of .d.ts 2020-07-08 15:13:02 -07:00
Michael Lumish dbef861948 Add files, dependencies, and generation script to package.json 2020-07-08 14:49:28 -07:00
Michael Lumish 8a2c5af8f7 Finish up bootstrap and EDS client code 2020-07-08 14:48:54 -07:00
Michael Lumish 46c84bdb4e grpc-js: Improve error handling in a few places 2020-07-07 10:51:42 -07:00
Michael Lumish 5767f7d107 Complete most of the endpoint watcher implementation 2020-07-07 09:26:52 -07:00
Michael Lumish 81fff185ae Add generated code for Envoy APIs 2020-07-07 09:19:46 -07:00
Michael Lumish 3fa1c098c5 Start implementing XdsClient class 2020-06-24 14:49:10 -07:00
Michael Lumish cd8743e569 Omit port number from servername option 2020-06-19 08:56:48 -07:00
Michael Lumish 25dfe88fb3 grpc-js: bump to 1.1.0 2020-06-17 11:25:26 -07:00
Michael Lumish 3f7fb47505
Merge pull request #1479 from murgatroid99/grpc-js_read_fix
grpc-js: Don't initiate a read after receiving a message
2020-06-17 11:22:32 -07:00
Michael Lumish ece7d0f56d grpc-js: Don't initiate a read after receiving a message 2020-06-16 13:36:20 -07:00
Michael Lumish f97e27f0c0 Fix possible null reference 2020-06-16 11:40:22 -07:00
Michael Lumish 01dbc34eb1 grpc-js: Add port to :authority, leave it out of service_url 2020-06-16 11:33:23 -07:00
Michael Lumish 1d14203c38
Merge pull request #1468 from murgatroid99/grpc-js_propagate-constants
grpc-js: Export propagate constants for type parity with grpc
2020-06-15 15:02:20 -07:00
Michael Lumish a6101f3d6c
Merge pull request #1467 from murgatroid99/grpc-js_tryShutdown_fix
grpc-js: server: cull closed sessions from list, check for closed in tryShutdown
2020-06-15 15:02:03 -07:00
Michael Lumish 5d632d801a
Merge pull request #1466 from murgatroid99/grpc-js_servername_fix
grpc-js: Consistently set servername connection option to support SNI
2020-06-15 15:01:36 -07:00
Michael Lumish 353a6e9714 Add dependencies for xDS Client 2020-06-09 13:32:58 -07:00
Michael Lumish f4853c13f7 Don't double count sessions when closing 2020-06-09 11:07:20 -07:00
Michael Lumish 668b5aeb5a Consolidate LocalitySubchannelAddress definitions 2020-06-09 10:40:53 -07:00
Michael Lumish 29d7b4dc16 Merge branch 'master' into grpc-js_weighted_target_lb 2020-06-09 10:38:30 -07:00
Michael Lumish ab5910a42e
Merge pull request #1433 from murgatroid99/grpc-js_priority_load_balancer_actual
Add priority load balancer
2020-06-09 10:37:10 -07:00
Michael Lumish d9b7b098a7 grpc-js: Export propagate constants for type parity with grpc 2020-06-08 16:37:03 -07:00
Michael Lumish e90d0c2c0e
Merge pull request #1463 from azban/azb-grpc-js-server-call-deadline-lazy-singleton
grpc-js: clear noop server call deadline
2020-06-08 15:06:22 -07:00
Michael Lumish cb9f96126f grpc-js: server: cull closed sessions from list, check for closed in tryShutdown 2020-06-08 14:44:14 -07:00
azban e3a50ff3ee grpc-js: use lazy singleton for server call deadline to avoid open handles in jest 2020-06-08 14:41:54 -07:00
Michael Lumish 6701f19f5e grpc-js: Consistently set servername connection option to support SNI 2020-06-08 14:05:10 -07:00
Simen Bekkhus 0dca35a8b9
feat(client): export `ClientOptions` type 2020-06-08 20:15:59 +02:00
Michael Lumish 931a7c3e9e
Merge pull request #1459 from greenboxal/fix-credentials-type
grpc-js: Fix credentials type
2020-06-04 15:33:37 -07:00
Jonathan Lima 219ca8c5db grpc-js: Fix credentials type 2020-06-04 11:36:51 -03:00
Michael Lumish f4cbe025f5
Merge pull request #1450 from murgatroid99/grpc-js_1.0.5
Bump grpc-js to 1.0.5
2020-06-03 16:34:22 -07:00
Michael Lumish 861695bc28
Merge pull request #1436 from murgatroid99/grpc-js_dont_push_after_end
grpc-js: Don't push messages after ending a call
2020-06-03 16:33:48 -07:00
Michael Lumish 84829283c6
Merge pull request #1446 from murgatroid99/grpc-js_transient_failure_backoff
grpc-js: transition out of TRANSIENT_FAILURE if backoff timer has ended
2020-06-03 16:32:54 -07:00
Michael Lumish 658961d2ff
Merge pull request #1444 from murgatroid99/grpc-js_actually_backoff
grpc-js: Properly back off when transitioning through IDLE
2020-06-03 16:28:17 -07:00
Michael Lumish 5e9b852e8a
Merge pull request #1443 from murgatroid99/grpc-js_auth_peer_dep
Move google-auth-library to a peer dependency
2020-06-03 16:17:09 -07:00
Michael Lumish 136626aaca
Merge pull request #1454 from badsyntax/enable_http_proxy
grpc-js: Add support for grpc.enable_http_proxy channel option
2020-06-01 13:54:39 -07:00
Richard Willis f7a749da09 grpc-js: Add support for grpc.enable_http_proxy channel option 2020-06-01 21:22:02 +01:00
Michael Lumish d4d4740e97 Bump grpc-js to 1.0.5 2020-05-29 14:12:45 -07:00
Michael Lumish 4f38f1e92f Deactivate targets that are not in new configs 2020-05-29 12:35:25 -07:00
Michael Lumish a61dfb1527 Some cleanup and fixes 2020-05-28 11:52:02 -07:00
Michael Lumish 807d7d510f grpc-js: Add weighted_target load balancer 2020-05-28 11:48:47 -07:00
Michael Lumish bfc406dd7c Merge branch 'master' into grpc-js_priority_load_balancer_actual 2020-05-27 14:24:51 -07:00
Michael Lumish ff36a1de07 grpc-js: transition out of TRANSIENT_FAILURE if backoff timer has ended 2020-05-27 10:21:42 -07:00
Michael Lumish 2c022924cf grpc-js: Properly back off when transitioning through IDLE 2020-05-26 15:12:34 -07:00
Michael Lumish d02cbe432e Move google-auth-library to a peer dependency 2020-05-26 10:52:05 -07:00
Michael Lumish ed5b3ac1cd grpc-js: Don't push messages after ending a call 2020-05-21 11:41:44 -07:00
Michael Lumish 8ad1f82221 Merge branch 'master' into grpc-js_priority_load_balancer 2020-05-21 11:17:33 -07:00
Michael Lumish 69d4116057
Merge pull request #1413 from murgatroid99/grpc-js_pick_first_reconnect_fix
grpc-js: Fix pick_first handling of IDLE subchannels.
2020-05-21 10:29:58 -07:00
Michael Lumish 6c298d3a78
Merge pull request #1414 from murgatroid99/grpc-js_dont_split_metadata
grpc-js: Don't split header values by commas
2020-05-21 10:29:05 -07:00
Michael Lumish 10dd68d394
Merge pull request #1424 from murgatroid99/grpc-js_server_tracing
grpc-js: Add a few trace lines to the server
2020-05-21 10:13:51 -07:00
Michael Lumish c6deb79269 Test header splitting behavior 2020-05-21 10:12:08 -07:00
Michael Lumish be31009d9a Start failover timers when leaving IDLE 2020-05-21 10:04:29 -07:00
Michael Lumish 4361242eb9 Add priority load balancer 2020-05-20 14:00:05 -07:00
Michael Lumish 7625c2becd gts fix 2020-05-13 12:01:07 -07:00
Michael Lumish a53bcb3c97 grpc-js: Add a few basic trace lines to the server 2020-05-13 12:00:22 -07:00
Michael Lumish e26a3b264c grpc-js: Add more detailed information to client (de)serialization errors 2020-05-11 10:11:23 -07:00
Richard Willis f0fa806bfa
grpc-js: Fix README formatting
This should fix the heading rendering on npmjs.com
2020-05-10 09:16:28 +01:00
Michael Lumish eab63a94ac Don't use gts clean in npm clean to avoid errors on Node 8 2020-05-08 11:37:56 -07:00
Michael Lumish 4ef8abddf2 grpc-js: Don't split header values by commas 2020-05-08 10:47:35 -07:00
Michael Lumish 8c61b16642 Bump grpc-js to 1.0.4 2020-05-08 10:33:25 -07:00
Michael Lumish 3d8c9af401 grpc-js: Fix pick_first handling of IDLE subchannels. Also stop reporting IDLE on LB creation 2020-05-08 10:30:56 -07:00
Michael Lumish 7aa9177fa3 Don't allow null load balancing configs 2020-05-05 14:29:53 -07:00
Michael Lumish 6e202e0b53 gts fix 2020-05-04 15:07:45 -07:00
Michael Lumish 265b39b6de Fix state changes when handling resolution failures 2020-05-04 15:06:51 -07:00
Michael Lumish 90013c695d grpc-js: Add ChildLoadBalancerHandler and use it in ResolvingLoadBalancer 2020-05-04 14:03:17 -07:00
Michael Lumish cefb8d1f62 Load 'google-auth-library' lazily to avoid impacting load times 2020-04-27 17:35:20 -07:00
Michael Lumish 010ef569f7 grpc-js: Add internal "Google default" channel credentials 2020-04-27 15:35:32 -07:00
Michael Lumish 440d985f1f
Merge pull request #1397 from murgatroid99/grpc-js_pre_xds_internal_changes
grpc-js: Some internal changes in preparation for implementing xDS Global LB
2020-04-27 14:52:42 -07:00
Michael Lumish a2839e7b2d gts fix 2020-04-27 11:56:49 -07:00
Michael Lumish 424c9bfe70 Add onCallStarted field to Pick object 2020-04-27 10:24:15 -07:00
Michael Lumish 5bb80047db
Merge pull request #1393 from murgatroid99/grpc-js_1.0.3
Bump grpc-js to 1.0.3
2020-04-24 14:03:19 -07:00
Michael Lumish 3d4a27e6cc Plumb through an extra filter from the load balancer to the call stream 2020-04-24 14:00:54 -07:00
Michael Lumish 08dd114951 grpc-js: Add attributes argument passed from resolver to load balancer 2020-04-24 11:34:26 -07:00
Michael Lumish 05d7fa38c8 grpc-js: Don't try to call listener if it is unset 2020-04-24 10:40:14 -07:00
Michael Lumish f20c8e371b Bump grpc-js to 1.0.3 2020-04-24 10:13:17 -07:00
Michael Lumish b4af434b37
Merge pull request #1391 from murgatroid99/grpc-js_destroy_stream_fix
grpc-js: don't destroyHttp2Stream before saving the status code
2020-04-24 10:12:25 -07:00
Michael Lumish c87aa81dfb
Merge pull request #1390 from mdouglass/patch-3
Export sendUnaryData as part of the public API #1389
2020-04-24 09:31:38 -07:00
Michael Lumish 5d5468673f
Merge pull request #1387 from badsyntax/grpc-js--better-trace-logs
grpc-js: fix target in tracing logs
2020-04-23 14:55:49 -07:00
Michael Lumish cf0a90f9da grpc-js: don't destroyHttp2Stream before saving the status code 2020-04-23 14:17:07 -07:00
Matthew Douglass bf98da0e8d Export sendUnaryData as part of the public API #1389 2020-04-23 13:16:44 -07:00
Michael Lumish 79d3cfe4e6
Merge pull request #1386 from mdouglass/patch-2
Expose metadata property from ServerSurfaceCall #1384
2020-04-23 12:48:03 -07:00
Richard Willis 9bd0864c31 grpc-js: fix target in tracing logs 2020-04-23 07:37:36 +01:00
Matthew Douglass 9da6843ed7
Expose metadata property from ServerSurfaceCall #1384 2020-04-22 22:18:05 -07:00
Matthew Douglass f238bef70d
Export MetadataValue as part of the public API #1383
Matches native gRPC library
2020-04-22 22:02:20 -07:00
Michael Lumish 4946b418b4
Merge pull request #1381 from murgatroid99/grpc-js_proxy_fixes_final
grpc-js: Fix the final proxy bugs
2020-04-22 15:19:56 -07:00
Alexander Fenster ebfc5c9594 fix: make stream.write() synchronous in server-call 2020-04-22 13:58:26 -07:00
Michael Lumish 105e91e2eb Bump grpc-js to 1.0.2 2020-04-22 12:09:34 -07:00
Michael Lumish 070994a3a6 grpc-js: Fix the final proxy bugs 2020-04-22 12:06:13 -07:00
Michael Lumish e0533363ec Fix "other" resolver test 2020-04-21 10:55:06 -07:00
Michael Lumish b6846f0709 Update server to handle default schemes 2020-04-21 10:32:58 -07:00
Michael Lumish 0b522b2289 Bump grpc-js to 1.0.1 2020-04-21 10:04:40 -07:00
Michael Lumish 23e2353ea0 Update tests and add new ones 2020-04-21 09:58:34 -07:00
Michael Lumish ec4eb785fe Actually register 'dns' as the default scheme 2020-04-21 09:26:51 -07:00
Michael Lumish 726e7453f5 grpc-js: Fix proxy + URI parsing bugs 2020-04-21 09:18:35 -07:00
Michael Lumish 615058036b grpc-js: Add "Migrating from grpc" README section 2020-04-20 15:08:28 -07:00
Michael Lumish 5df87c9ac9
Merge pull request #1365 from murgatroid99/grpc-js_1.0
Bump grpc-js to 1.0 and stop calling it "beta"
2020-04-20 13:33:33 -07:00
Michael Lumish ae61562be2
Merge pull request #1364 from murgatroid99/grpc-js_uri_parsing
grpc-js: Use a more structured representation of URIs internally
2020-04-20 12:19:18 -07:00
Michael Lumish 238a91c985
Merge pull request #1373 from murgatroid99/grpc-js_callback_type_name_2
grpc-js: Make request callback type match the other library
2020-04-20 12:18:34 -07:00
Michael Lumish 8b16b3b699
Merge pull request #1368 from badsyntax/client-waitforready-fix
grpc-js: Client waitForReady callback fix.  Fixes #1352
2020-04-20 12:18:15 -07:00
Michael Lumish b62e22677d
Merge pull request #1319 from xpirt/patch-1
grpc-js: export InterceptorOptions
2020-04-20 11:32:30 -07:00
Michael Lumish 98e46260ef Fix merge error with proxy fixes 2020-04-20 11:22:56 -07:00
Richard Willis 7e381f7f2a grpc-js: Simplify client.waitForReady tests. Refs #1352
No need to add a service to the server to test the client.
2020-04-20 19:14:20 +01:00
Michael Lumish 5aa7817c7e
Merge branch 'master' into grpc-js_uri_parsing 2020-04-20 11:08:23 -07:00
Michael Lumish 6e3ab74e64 grpc-js: Make request callback type match the other library 2020-04-20 10:32:19 -07:00
Tom Kirkpatrick eef75a5c1b
grpc-js: use tls.ConnectionOptions type for proxy connection options 2020-04-19 20:07:45 +02:00
Tom Kirkpatrick 48072d5f4f
grpc-js: setting ALPNProtocols option for tls proxy 2020-04-19 20:07:45 +02:00
Tom Kirkpatrick b9e84f499f
grpc-js: commenting working for node issue 32922 2020-04-19 20:07:45 +02:00
Tom Kirkpatrick 11965fb0af
grpc-js: dont set createConnection when connecting with TLS and without a proxy 2020-04-18 23:16:07 +02:00
Tom Kirkpatrick 2c5a8b1a30
grpc-js: ensure tls connection is used when requested 2020-04-18 21:25:24 +02:00
Tom Kirkpatrick 4e61f21c2f
grpc-js: do not set host when instantiating tls socket 2020-04-18 17:58:40 +02:00
Tom Kirkpatrick 5af582e31c
grpc-js: pass secureContext through to proxied tls connection 2020-04-18 13:59:49 +02:00
Tom Kirkpatrick c650e59563
grpc-js: always explicitly establish connection 2020-04-18 12:56:51 +02:00
Tom Kirkpatrick af7f4f798d
grpc-js: initiate tls connection through http proxy 2020-04-18 11:04:13 +02:00