murgatroid99
4e7f4dff17
Also use original call metadata
2019-09-30 15:56:15 -07:00
murgatroid99
c7d086bfb4
Properly use filtered metadata when starting requests
2019-09-30 15:03:48 -07:00
murgatroid99
ce119ead0b
Merge branch 'master' into grpc-js_uds_resolver
2019-09-27 14:24:07 -07:00
murgatroid99
21e0bfae67
Bump grpc-js to 0.6.2
2019-09-26 18:09:25 -07:00
murgatroid99
06f6065692
Increase resolver test timeout
2019-09-26 17:06:51 -07:00
murgatroid99
4fb254ddb6
grpc-js: Fix TLS server name handling
2019-09-26 14:32:54 -07:00
murgatroid99
5ab1806b44
Add UDS resolver
2019-09-25 17:53:05 -07:00
Michael Lumish
c6b2f423ee
Merge pull request #1045 from murgatroid99/grpc-js_dns_fix
...
Fix DNS name regex and add tests
2019-09-25 13:43:29 -07:00
Michael Lumish
fe601286e6
Undo domain name change
2019-09-25 10:51:06 -07:00
Michael Lumish
d27ca5d725
Switch to a more reliable domain name with a hyphen
...
Co-Authored-By: Natan Sągol <m@merlinnot.com>
2019-09-25 09:27:02 -07:00
Colin Ihrig
79286616d8
grpc-js: fix typo
...
This commit fixes a typo observed in
https://github.com/grpc/grpc-node/pull/1015
2019-09-24 21:58:01 -04:00
murgatroid99
9238ad07cb
Fix DNS name regex and add tests
2019-09-24 18:22:38 -07:00
Michael Lumish
2ad2e11e7a
Merge pull request #1043 from murgatroid99/grpc-js_0.6.0_bump
...
Bump grpc-js to 0.6.0
2019-09-24 13:31:42 -07:00
murgatroid99
adf7b08096
Merge branch 'master' into grpc-js_disconnect_status
2019-09-24 12:11:03 -07:00
murgatroid99
fba9664f35
Remove fragile test file
2019-09-24 12:09:57 -07:00
murgatroid99
184870f42a
Bump grpc-js to 0.6.0
2019-09-24 10:50:33 -07:00
murgatroid99
96e3dde23d
Return UNAVAILABLE status on TCP disconnect
2019-09-24 10:25:08 -07:00
Michael Lumish
b05caec567
Merge branch 'master' into name_resolution_load_balancing
2019-09-23 11:03:25 -07:00
murgatroid99
96db88a3fb
Bump grpc-js to 0.5.4
2019-09-20 10:44:13 -07:00
murgatroid99
b003aa14d4
Add function for creating errors from statuses
2019-09-19 17:14:38 -07:00
murgatroid99
9e2aea0399
Revert "Add specific call error for TCP disconnection"
2019-09-19 14:42:40 -07:00
murgatroid99
8780f49c0a
Update @types/node to version with modified dns types
2019-09-18 13:47:25 -07:00
murgatroid99
d762dc4438
Use updated type definitions
2019-09-16 15:37:54 -07:00
murgatroid99
a7a9f0de76
Switch to dns.lookup
2019-09-16 15:12:07 -07:00
Bjorn Stromberg
fc032c0226
grpc-js: Update gts and apply fixes
2019-09-13 12:31:33 +09:00
murgatroid99
8900aab94e
Bump grpc-js to 0.5.3
2019-09-10 12:49:15 -07:00
murgatroid99
049da7e058
Add session.socket to ClientHttp2StreamMock in tests
2019-09-06 14:58:42 -07:00
murgatroid99
ae33497656
Check stream.session.socket before adding event handler
2019-09-06 13:21:47 -07:00
murgatroid99
4b4addf5b9
Add specific call error for TCP disconnection
2019-09-06 11:10:47 -07:00
murgatroid99
3f7d640e9e
Fix hardcoded IPv6 localhost address
2019-09-03 11:05:54 -07:00
murgatroid99
b7656e0644
Fix DNS result handling, special case localhost, resolve comment
2019-08-30 15:35:34 -07:00
murgatroid99
026d681a84
Fix doubled name resolver errors and added detail
2019-08-29 17:45:06 -07:00
murgatroid99
4144558ee6
Resolve first comments
2019-08-29 17:03:00 -07:00
murgatroid99
889d1d3093
Avoid http2 IPv6 handling bug
2019-08-29 14:11:19 -07:00
murgatroid99
ee4985886d
Pick first load balancer: don't connect forever without calls
2019-08-29 10:36:09 -07:00
murgatroid99
b4d848865d
Lint fixes
2019-08-28 18:04:43 -07:00
murgatroid99
5aef347fb9
Proceed through pick-first list quickly when subchannel enters TRANSIENT_FAILURE
2019-08-28 17:44:30 -07:00
murgatroid99
01977e6e08
Add documentation and error handling
2019-08-28 17:06:14 -07:00
murgatroid99
fb2e7637c0
Update channel behavior + related classes
2019-08-13 17:58:54 -07:00
murgatroid99
e612cd9934
Add new subchannel and load balancing code
2019-08-13 10:10:50 -07:00
Bjorn Stromberg
110461d78a
Add dev-dependencies and fix tests so they exit after running
2019-08-06 15:01:31 +09:00
Michael Lumish
716b29f0b5
Merge pull request #972 from murgatroid99/grpc-js_server_types_export
...
Improve server-related types exported by grpc-js
2019-07-29 15:57:54 -07:00
murgatroid99
80d7057cad
Use typeof instead of util functions
2019-07-29 13:50:51 -07:00
murgatroid99
acdd2abfc3
Add resolver and service config handling code
2019-07-16 14:35:06 -07:00
murgatroid99
201dab7fa8
Improve server-related types exported by grpc-js
2019-07-16 14:15:55 -07:00
Bjorn Stromberg
277d9892f8
Add @types/semver as devDependency
2019-07-12 10:50:50 +09:00
murgatroid99
4818d304c9
Bump grpc-js to 0.5.2
2019-07-11 16:46:53 -07:00
murgatroid99
5b87ceb05c
Warn instead of failing when constructing metadata from remote end
2019-07-11 14:43:41 -07:00
murgatroid99
d223cc394e
Bump grpc-js to 0.5.1
2019-07-09 15:30:29 -07:00
murgatroid99
3f460716fb
Remove check in grpc-js that doesn't appear in grpc
2019-07-09 10:52:51 -07:00
Tom Kirkpatrick
aa54122e51
fix: properly handle http error status codes
...
fix #941
2019-07-09 00:31:09 +02:00
Michael Lumish
a996adaade
Merge pull request #930 from murgatroid99/grpc-js_0.5.0
...
Bump grpc-js to 0.5.0
2019-06-27 16:56:18 -07:00
murgatroid99
e6a8092a63
Bump grpc-js to 0.5.0
2019-06-27 11:35:07 -07:00
cjihrig
7c2bb2a237
grpc-js: don't overwrite existing error codes
...
This commit causes RPC handlers to default to INTERNAL when
an error occurs, but does not overwrite an existing error
code.
2019-06-25 14:04:21 -04:00
cjihrig
00b091a1b1
grpc-js: shutdown improvements
...
This commit maintains a Set of all active sessions. This allows
tryShutdown() to gracefully stop the server properly (as
recommended in the Node HTTP2 documentation). The same Set of
sessions also allows forceShutdown() to be implemented.
2019-06-25 14:04:21 -04:00
cjihrig
4399131bf9
grpc-js: fix lint
...
This commit makes the linter pass again.
2019-06-25 13:53:37 -04:00
cjihrig
0b4fd1365a
grpc-js: expose Server implementation publicly
...
This commit exposes the pure JS Server as public API.
2019-06-25 13:53:37 -04:00
cjihrig
c3d7453a84
grpc-js: handle multiple messages in single 'data' event
...
This commit adds support for receiving multiple messages in a
single 'data' event from the underlying HTTP2 stream. It also
handles potential out of order messages due to asynchronous
deserialization of messages.
2019-06-09 18:12:24 -07:00
murgatroid99
438bfdd8a2
Update grpc-js to 0.4.3
2019-06-07 10:03:44 -07:00
Michael Lumish
5b187ba5e8
Merge pull request #908 from murgatroid99/pure_js_goaway_handling
...
Pure JS: Fixed two bugs with goaway handling
2019-06-07 10:02:13 -07:00
murgatroid99
1ee218c8bd
Fix tests for fixed code, also fix another issue
2019-06-06 10:38:28 -07:00
murgatroid99
9aeca2f01a
Pure JS: Fixed two bugs with goaway handling
2019-06-06 09:48:04 -07:00
cjihrig
31bcaed6e4
grpc-js: destroy connections when session begins
...
When the gRPC server has not been started, incoming connections
can be destroyed on session establishment, which happens before
a stream is created.
2019-06-06 09:39:46 -04:00
cjihrig
ffe59e6edd
grpc-js: fix lint
...
This commit gets `npm run lint` passing again.
2019-06-06 09:33:40 -04:00
Michael Lumish
55d6339bca
Merge pull request #902 from cjihrig/bad-content-type
...
grpc-js: reject invalid Content-Type requests
2019-06-04 15:51:01 -07:00
Michael Lumish
f92e2a3a70
Merge pull request #897 from cjihrig/version-string
...
grpc-js: load semver range from package.json
2019-06-04 12:04:47 -07:00
Michael Lumish
2b1a6756f5
Merge pull request #903 from cjihrig/timeout
...
grpc-js: disable http2 server timeout
2019-06-04 12:04:32 -07:00
Michael Lumish
836966c216
Merge pull request #904 from murgatroid99/grpc_js_0.4.2
...
Bump grpc-js to 0.4.2
2019-06-04 10:52:29 -07:00
Michael Lumish
70d75a5ab4
Merge pull request #900 from murgatroid99/pure-js_0.4.1_fixes
...
Fix custom metadata handling bug
2019-06-04 10:50:05 -07:00
murgatroid99
f6ea3c31f9
Bump grpc-js to 0.4.2
2019-06-04 09:53:07 -07:00
cjihrig
93ea51f116
grpc-js: disable http2 server timeout
...
gRPC has its own mechanisms for timing out a request.
Furthermore, the default timeout was removed from Node.js
Refs: https://github.com/nodejs/node/pull/27558
2019-06-04 12:44:41 -04:00
cjihrig
a4b3a7fbae
grpc-js: reject invalid Content-Type requests
...
This commit implements the following portion of the spec:
If Content-Type does not begin with "application/grpc",
gRPC servers SHOULD respond with HTTP status of
415 (Unsupported Media Type). This will prevent other
HTTP/2 clients from interpreting a gRPC error response,
which uses status 200 (OK), as successful.
2019-06-04 12:02:08 -04:00
murgatroid99
afb7b4a602
Fix dropped messages when multiple arrived in one HTTP/2 frame
2019-06-03 18:21:39 -07:00
murgatroid99
92bed740e8
Fix custom metadata handling bug
2019-06-03 14:47:11 -07:00
Michael Lumish
9c274034d0
Merge pull request #796 from murgatroid99/metadata_options
...
Add metadata options
2019-06-03 10:48:23 -07:00
cjihrig
69d4377dc2
grpc-js: load semver range from package.json
...
This commit loads the required semver range from the package.json
file, instead of hard-coding the string in index.ts.
2019-05-31 16:03:59 -04:00
cjihrig
ea254dfc62
grpc-js: enable incremental compiles
...
This commit enables incremental TypeScript builds.
2019-05-29 15:22:18 -04:00
cjihrig
d7c23b066e
grpc-js: update to typescript@3.5
...
This commit updates to TypeScript, which is supposed to be
faster.
Refs: https://devblogs.microsoft.com/typescript/announcing-typescript-3-5/
2019-05-29 15:18:33 -04:00
Michael Lumish
5689ba720d
Merge pull request #889 from murgatroid99/grpc-js_0.4.1
...
Update grpc-js to 0.4.1
2019-05-29 09:54:04 -07:00
Michael Lumish
5eb17fc559
Merge pull request #887 from murgatroid99/grpc-js_connect_metadata_promise
...
grpc-js: Change how filters access connectivity information
2019-05-29 09:53:51 -07:00
murgatroid99
ffaade2e6f
Update grpc-js to 0.4.1
2019-05-28 16:18:37 -07:00
murgatroid99
45f37f1a9e
Fix missing custom metadata
2019-05-28 10:53:08 -07:00
murgatroid99
477c4a4c18
grpc-js: Change how filters access connectivity information
2019-05-28 10:36:07 -07:00
cjihrig
f30a5d8588
grpc-js: support client cancellation
...
This commit adds client cancellation support and tests for
cancellation and deadlines.
2019-05-20 13:38:35 -04:00
cjihrig
4e0162cf22
grpc-js: skip gulp tasks based on Node version
...
This commit wraps the grpc-js Gulp tasks in a version check
so they only run on supported versions of Node.
2019-05-18 11:25:06 -04:00
cjihrig
be6bdb8c3d
grpc-js: update to gts@1.x.x
...
This commit updates the gts dependency to 1.x.x.
2019-05-17 17:03:04 -04:00
cjihrig
f6689d51a6
grpc-js: update dependencies
...
This commit resolves issues from `npm outdated`. The gts
dependency will be updated separately, as it comes with
significant code churn.
2019-05-17 12:30:42 -04:00
cjihrig
a7372e2b1c
grpc-js: slight cleanup of server imports/exports
...
This commit removes some unnecessary imports and exports
from the server code.
2019-05-17 12:14:27 -04:00
cjihrig
212439eb83
grpc-js: make serdes APIs consistent
...
During initial implementation, the serialize and deserialize
APIs of ServerReadableStream, ServerWritableStream, and
ServerDuplexStream became inconsistent. This commit brings
back consistency.
2019-05-17 11:40:29 -04:00
cjihrig
1aa11525fd
grpc-js: add bidirectional streaming RPC support
...
This commit adds bidi streaming RPC support to the server.
2019-05-16 11:23:54 -04:00
Michael Lumish
3bebc2230a
Merge pull request #859 from cjihrig/client-stream
...
grpc-js: add client streaming RPC support
2019-05-15 10:22:35 -07:00
cjihrig
4857c63d01
grpc-js: simplify ServerReadableStream's deserialize()
...
This commit removes null and undefined checks from deserialize().
2019-05-15 09:08:28 -04:00
cjihrig
e0a30907f9
grpc-js: add setupReadable() to Http2ServerCallStream
...
This commit adds a setupReadable() method to
Http2ServerCallStream. This is used to set up the plumbing
between the HTTP2 stream and the surface readable/bidi
calls.
2019-05-14 15:07:12 -04:00
murgatroid99
904d820bd2
Merge remote-tracking branch 'upstream/grpc@1.20.x' into v1.20_upmerge
2019-05-08 13:32:11 -07:00
cjihrig
b8af8c9474
grpc-js: add client streaming RPC support
...
This commit adds client streaming RPC support.
2019-05-07 14:23:34 -04:00
cjihrig
7aa45eb55e
grpc-js: extract reusable stream decoding logic
...
This commit pulls the stream decoding logic into a separate
class so that it can be reused by the server code.
2019-05-06 13:56:23 -04:00
cjihrig
7009d25593
grpc-js: wrestle with typescript handler types
...
This commit is mindless TypeScript busy work.
2019-05-03 14:49:49 -04:00
cjihrig
ec9e82554b
fixup! grpc-js: support unary and server streaming rpcs
2019-05-03 12:21:41 -04:00
cjihrig
c050bf5ad8
grpc-js: add sendStatus()
...
Based on PR feedback, this commit adds a sendStatus() method to
Http2ServerCallStream. All responses will be funnelled through
this method.
2019-05-02 22:18:20 -04:00
cjihrig
a6e2edce9a
grpc-js: handle http2 backpressure in server
...
This commit adds backpressure handling code to the
ServerWritableStream implementation.
2019-05-02 22:18:20 -04:00