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
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
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
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
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
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
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
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
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
cjihrig
79544366be
grpc-js: support unary and server streaming rpcs
...
This commit adds support for unary and server streaming RPCs.
2019-05-02 21:40:45 -04:00
Alexander Fenster
293ea935f3
grpc-js: add ServiceError
2019-05-02 16:39:01 -07:00
Alexander Fenster
fc336307c8
gts fix
2019-05-02 12:56:24 -07:00
Alexander Fenster
6ff835201a
grpc-js: export more types
...
We (`google-gax`) need these two types exported to switch from C-core gRPC.
2019-05-02 12:53:00 -07:00
Michael Lumish
309033f681
Merge pull request #841 from cjihrig/constant
...
grpc-js: don't export private symbol
2019-04-29 12:30:07 -07:00
cjihrig
8a183c1f31
grpc-js: rename kChannel symbol
...
This commit renames the kChannel symbol to follow the repo's
style conventions for constants (although a symbol may not
strictly qualify as a constant).
2019-04-26 19:33:29 -04:00
cjihrig
7ca94b569d
grpc-js: require non-experimental http2
...
This commit bumps the required semver range to versions of Node
that include a non-experimental http2 module.
2019-04-26 18:53:41 -04:00
cjihrig
406c1d0a97
grpc-js: don't export private symbol
...
The kChannel symbol was being exported due to a TypeScript
issue. That issue has been resolved, so it seems OK to remove
the export.
2019-04-26 17:54:02 -04:00
cjihrig
62e7f0c85a
grpc-js: define Server API contract
...
This commit defines the Server API contract, and implements
the Server functionality, minus the actual handling of requests.
2019-04-10 15:35:40 -04:00
cjihrig
1cfe05ba46
grpc-js: update dependency versions
...
Update grpc-js to the latest version of all dependencies.
2019-04-08 21:00:57 -04:00
cjihrig
40eef7af22
grpc-js: add ServerCredentials support
...
This commit adds ServerCredentials to the pure JS implementation.
2019-04-01 20:13:24 -04:00
Michael Lumish
3ae5fdd258
Merge pull request #787 from murgatroid99/grpc-js_missing_types
...
Export missing types, fix a couple of incorrect types
2019-03-25 13:36:59 -07:00
murgatroid99
d4e1672071
JS: Add initial metadata options API compatibility
2019-03-20 15:16:52 -07:00
Nicolas "Pixel" Noble
6bc7184542
Adding missing license on a bunch of source files.
2019-03-19 01:06:57 +01:00
murgatroid99
e0a472d9df
Fix lint errors
2019-03-15 12:09:19 -07:00
murgatroid99
c520d5befa
Export missing types, fix a couple of incorrect types
2019-03-15 11:32:11 -07:00
Michael Lumish
8704950a5c
Merge pull request #768 from murgatroid99/grpc-js_deadline_filter_promise_finish
...
grpc-js: deadline filter: reject promise if call ends
2019-03-08 10:01:42 -08:00
murgatroid99
0cf6981eaf
Start with http2 sessions unrefed in case no streams are ever created
2019-03-07 15:41:12 -08:00
murgatroid99
b0f06d56c2
Properly remove event listener in other handler
2019-03-07 11:24:22 -08:00
murgatroid99
d77da26021
grpc-js: deadline filter: reject promise if call ends
2019-03-07 11:04:46 -08:00
murgatroid99
030f846c3a
grpc-js: call-stream: Don't output messages after status
2019-03-06 17:31:30 -08:00
cjihrig
42126732f5
grpc-js: remove unused EventEmitter interfaces
...
This commit removes the unused EmitterAugmentation0 and
EmitterAugmentation2 interfaces.
2019-02-27 10:14:25 -05:00
Alexander Fenster
b9130b239d
fix: use getRequestHeaders if available
2019-01-30 12:18:18 -08:00
murgatroid99
15f877aa45
Fix lint errors
2019-01-14 17:51:41 -08:00
murgatroid99
e32fec18fe
grpc-js: Fix handling of non-service objects in package definitions
2019-01-14 17:03:03 -08:00
Tom Kirkpatrick
0997ccaf0f
fix: require package.json directly
2018-11-30 13:53:43 +01:00
cjihrig
65bd142114
grpc-js: rename grpc-js-core to match npm
...
This commit renames grpc-js-core to grpc-js to more closely
match the name used on npm.
2018-11-01 16:56:57 -04:00
murgatroid99
a0d3d4a22c
Remove unused packages
2018-03-23 11:24:56 -07:00
Kelvin Jin
ad8aa54fd6
simplify gulp commands in package directories
2017-12-14 16:41:24 -08:00