Commit Graph

61 Commits

Author SHA1 Message Date
Wayne Li afacaa30e0
Remove check for SecurityContext.alpnSupported in security#createSecurityContext (#353)
Co-authored-by: Vyacheslav Egorov <vegorov@google.com>
2020-09-18 10:29:09 +02:00
Vyacheslav Egorov 3414356950
Revert "Support grpc-web in pure dart (#287)" (#351)
This reverts commit c513e1467f.

The original commit has broken streaming due to limitations of package:http.
2020-09-17 10:59:15 -07:00
Mehmet Fidanboylu ad2c0f6f3e
Use SecureSocket.connect directly if there's no authority in Credentials (#343) 2020-08-27 15:06:54 -07:00
Koichi Ishida e4947e2909
Encode server error message (#330) 2020-07-24 10:20:23 +02:00
Koichi Ishida 98ff843751
Decode gRPC error message (#326) 2020-07-20 16:11:19 +02:00
Jonas Finnemann Jensen 449faa80ee
Added Application Default Credentials Support (#315)
* Application Default Credentials support

* Prepare a 2.2.0 release of grpc

* Update CHANGELOG.md

Co-authored-by: Sigurd Meldgaard <sigurdm@google.com>

Co-authored-by: Sigurd Meldgaard <sigurdm@google.com>
2020-06-11 14:18:30 +02:00
Oleg Maslovsky 9ed03b6b96
Not to fail pending requests, just reschedule it (#303) 2020-06-08 10:16:00 +02:00
Robson Araujo c513e1467f
Support grpc-web in pure dart (#287)
By using package:http for making connections.
2020-05-12 09:01:36 +02:00
Sigurd Meldgaard 39c751128c
Use tcpNoDelay option for sockets (#298) 2020-05-11 12:47:15 +02:00
Jia Hao 03ecb84064
Export more symbols in grpc_connection_interface.dart (#292)
To create an alternate implementation of ClientChannel, we currently need to import symbols from lib/src which are "private" to the package. This change exports them as part of the public API.
2020-04-16 10:34:59 +02:00
Sigurd Meldgaard 7d3b3749e8
server: Cancel call when the outgoing messages are closed (#274) 2020-01-28 09:29:05 +01:00
Igor Demyanov ae17e712e4 Share port support (#253)
* Share port support
2019-12-04 09:35:02 +01:00
Sigurd Meldgaard 6061512afa
Grpc-web Handle empty trailers (#247)
* Grpc-web Handle empty trailers
2019-11-07 10:52:13 +01:00
Sigurd Meldgaard 588c21e542
Avoid sending headers as trailers twice (#244) 2019-10-24 09:35:28 +02:00
Nic Hite 7ed8b741cd
Add explicit 'localhost' to tests involving server (#242)
* Add explicit 'localhost' to tests involving server

* Bump version

* Clean up CHANGELOG

* Revert version bump.
2019-09-30 01:22:16 -07:00
Sigurd Meldgaard 20352dd718 Use host without port as authority when making secure connection (#238) 2019-09-09 09:41:56 +02:00
Sigurd Meldgaard b7be3af34b
Fix use of authority when making a secure connection 2019-08-22 14:26:29 +02:00
Sigurd Meldgaard 992e2dcc29
Improve connection handling (#231)
* Improve connection handling

* Address review. Add round-trip-test
2019-08-19 15:31:16 +02:00
Sigurd Meldgaard 3aeafa77cb
Improve error handling (#204)
* Improve error handling

1) Let GrpcError implement exception

As the user is (usually) expected to catch these they should implement
Exception.
There is a bigger clean-up in splitting off the GrpcError.internal as
that seems to be for invariant violations

2) Convert some thrown strings into exceptions.
2019-07-03 09:26:45 +02:00
Sigurd Meldgaard 9d2a469655
Provide scheme as part of audience (#211) 2019-06-28 15:24:59 +02:00
Sigurd Meldgaard dcac905a13
Fix interop (#207)
* Fix computation of authority
2019-06-27 14:43:15 +02:00
Sigurd Meldgaard 054ac9de3c
Fix imports (#199) 2019-06-25 13:00:58 +02:00
Sigurd Meldgaard 91564ff7aa
grpc-web support (#191)
* grpc-web support

This commits merges the grpc-web branch into master.

It is based on work by https://github.com/fuzzybinary .
2019-06-17 13:31:07 +02:00
Nic Hite c9c4e40088
Remove unnecessary 'new' and 'const' keywords. (#186) 2019-06-04 11:31:01 -07:00
Ivan c65afe9ec0 Add userAgent for ChannelOptions (#155)
Add userAgent for ChannelOptions
2019-05-28 12:31:35 +02:00
Sigurd Meldgaard f3e1e32973
Allow authority for insecure connections (#179) 2019-05-23 15:48:46 +02:00
Sigurd Meldgaard 92731e1a71
Cancel `ServerHandler` when `ServerTransportConnection.incomingStreams` is closed (#164)
* Cancel ServerHandler when connection closes
2019-04-03 14:57:55 +02:00
Sigurd Meldgaard d7ae930e7f
Revert "Support grpc-web" (#159)
This reverts commit d58659507c.

Development of grpc-web will continue on the branch
https://github.com/grpc/grpc-dart/tree/grpc-web until it is ready.
2019-03-18 13:46:50 +01:00
Jeff Ward d58659507c Support grpc-web 2019-03-15 12:51:06 +01:00
Sigurd Meldgaard 76159960e2
Add service_api.dart with platform independent exports (#152) 2019-01-24 13:44:59 +01:00
Nic Hite eafca2ab28 Replace Future<Null> with Future<void>. (#146) 2019-01-03 08:13:25 +01:00
Alexandre Ardhuin 921f4df0b9 don't throw on closing channel not open (#128)
Don't throw on closing channel not open
2018-11-12 14:54:11 +01:00
Alexandre Ardhuin 3e3ba6682f allows async interceptors (#120)
* allows async interceptors

* prevent chunks to come before starting streaming request
2018-09-18 08:17:39 +02:00
Sigurd Meldgaard 561f8fe716
Make Status codes `static const` instead of `static final`. (#104)
Make Status codes `static const` instead of `static final`.
This enables using the codes in switch statements and default values.
2018-08-06 13:47:45 +02:00
Sigurd Meldgaard 17ce11f7fc
Allow for non ascii headers (#103) 2018-07-19 15:46:23 +02:00
Bob Nystrom 238fd7ec67 Finish migrating to the Dart 2 core library constants. (#101) 2018-07-19 15:16:58 +02:00
Michael Thomsen c32a9e97be
Use new Dart 2 APIs (#99)
* Upgrade to Dart 2 APIs

* Run dartfmt

* Update CHANGELOG.md

* Update pubspec.yaml
2018-07-13 12:57:18 +02:00
German Saprykin 847a3625e1 Added interceptors. (#86)
* Add draft implementation of interceptors.

* Fix review comment.

* Revert example files.

* Revert interop files.

* Revert interop files.

* Format.

* Fix typos.
2018-07-09 16:57:07 +02:00
Jakob Andersen 88485bad11
Tweaks. (#82)
Using address: 'localhost' didn't work as expected in the Docker
environment, so reverting to old behavior.

Fixed a typo.
2018-04-06 11:35:11 +02:00
Jakob Andersen 686ecb3943
Dart 2 fixes (#77) 2018-04-05 09:43:42 +02:00
Jakob Andersen 0393703f58
Ensure shutdown and terminate always return a Future<Null>. (#75)
Even if _transport.finish()/terminate() returns some other kind of
Future.
2018-03-28 14:54:09 +02:00
Jakob Andersen d9dea0e489
Move TLS credentials for server into a separate class. (#61)
Add address parameter for server, to control which address to listen to,
and the ability to use an ephemeral port.
2018-03-14 16:38:52 +01:00
Jakob Andersen 40ffab8da5
Split out TLS credentials to a separate class. (#60)
Add a 'bad certificate handler' to the new ChannelCredentials, which can
be used to override certificate validation (for example, to allow
auto-generated self-signed certificates during development).

Also fixed a bug in Server.shutdown().
2018-02-27 10:10:44 +01:00
Jakob Andersen 3f60746689
Fix lint. (#58) 2018-02-06 13:31:59 -08:00
Jakob Andersen 7621132097
Authenticated cloud-to-prod interop tests. (#55)
Added authentication provider classes, and wired up the auth interop
tests.

Refactored connection logic to throw initial connection errors early.

Fixes #53
2018-02-05 23:17:16 +01:00
Jakob Andersen eb5b80504d
Dart 2.0 fixes. (#48)
Updated generated code in examples using latest protoc compiler plugin.
Fixed uses-dynamic-as-bottom issues.
2018-01-12 15:20:03 +01:00
Michael Thomsen a01be59ab4 Change license to Apache to be consistent with other gRPC repos (#47) 2018-01-12 15:14:19 +01:00
Jakob Andersen b38b1cc7a2
Reorganize code for 0.2.0 release. (#41)
Split the large client/server.dart files into smaller pieces. This is in
preparation for splitting the HTTP/2 dependencies into a separate file
and make it easier to implement other transports.
2017-12-15 09:30:56 +01:00
Jakob Andersen 108181c2d2
Added support for metadata providers. (#39)
Provide a hook for metadata providers that need to generate their
metadata for each RPC. An example is authorization, where the provider
may need to refresh a token before it can provide the header.

Add stackdriver logging examplei to demonstrate calling a Google API.

Updated other examples to protobuf 0.6.0 (protoc plugin 0.7.8).

Updated SDK requirement to Dart 1.24.3, which adds support for creating a SecurityContext that trusts built-in roots, and support for ALPN on macOS.
2017-12-14 14:32:06 +01:00
Jakob Andersen 7b2ff3e571 Multiplex RPCs on a single connection. (#34)
A Channel will now multiplex RPCs on a single managed connection. The
connection will attempt to reconnect on failure, and will close the
underlying transport connection if no RPCs have been made for a while.

Part of #5.
2017-10-12 15:37:29 +02:00