Commit Graph

305 Commits

Author SHA1 Message Date
Michael Thomsen 0c4d83ab7a
Update dart.yml: Add matrix for 'analyze' job (#389) 2020-11-03 23:08:06 +01:00
Vyacheslav Egorov 63f551b14b
Update dart.yml (#387) 2020-11-03 22:49:23 +01:00
Michael Thomsen 8e353d4675
Create dart.yml (#383) 2020-11-03 22:12:47 +01:00
Vyacheslav Egorov cb1c0ea8b3
Update pubspec.yaml, CHANGELOG.md and expand deprecation notice (#378)
* Opt grpc_web_server.dart out of NNBD.
2020-11-03 14:21:04 +01:00
Zbigniew Mandziejewicz 9f83e124e9
feat: support client interceptors (#338)
* Added support for client interceptors, which can be configured through
  Client constructor's interceptors parameter. Interceptors will be
  executed by Client.$createStreamingCall and Client.$createUnaryCall.
  Using interceptors requires regenerating client stubs using version 19.2.0 or
  newer of protobuf compiler plugin.
* Client.$createCall is deprecated because it does not invoke client
  interceptors.
2020-11-02 11:13:56 +01:00
Vyacheslav Egorov 0589503800
Bump SDK constraint and add dependency on fixnum (#377) 2020-10-30 12:04:57 +01:00
Sigurd Meldgaard 21529c6be7
Don't print from server (#212)
Co-authored-by: Vyacheslav Egorov <vegorov@google.com>
2020-10-29 12:57:47 +01:00
Vyacheslav Egorov 7ea15a8160
Propagate cancellation from responses stream to the call (#376)
It is not enough to just cancel the subscription.

Fixes #368
2020-10-29 12:56:49 +01:00
Andrew Coutts b6e40c34e3
Add decoded grpc-status-details-bin details to GrpcError (#349)
Closes #209
2020-10-27 17:07:58 +01:00
Rui Craveiro 3d731e0690
Call to onMetadata handles exceptions (#342)
Co-authored-by: Vyacheslav Egorov <vegorov@google.com>
2020-10-26 15:39:49 +01:00
Vyacheslav Egorov 2957ec003f
Add a simple end-to-end gRPC-web test (#354)
We did not have any before which allowed for regressions like #306 to
slip through. Unfortunately we can't test gRPC-web implementation
in pure Dart because we don't have a server side implementation of
the protocol. Instead we add a dependency on the third party
gRPC-web proxy (grpcwebproxy by Improbable Engineering - the choice made
purely based on the simplicity of installation) which forwards all
request gRPC server (written in Dart).
2020-10-25 12:53:53 +01:00
Michael R Fairhurst e2f3d74087
Remove unused dart:async imports (#358)
Since Dart 2.1, Future and Stream have been exported from dart:core
2020-10-25 12:43:15 +01:00
Vyacheslav Egorov f593d21694
Revert "Fix for Windows Travis builds" (#370)
This reverts commit dd34af2de4.
2020-10-13 09:08:29 +02:00
Nic Hite fa6b127dca
Create gRPC servers and clients with TransportConnections. (#364)
* Create gRPC servers and clients with TransportConnections.

* switch class ordering to put base class first.
2020-10-05 19:34:39 -07:00
Vyacheslav Egorov 831f5d8cfb
Revert "Not to fail pending requests, just reschedule it (#303)" (#366)
This reverts commit 9ed03b6b96.

This change prevents client from gracefully handling connection issues and instead just makes it infinitely trying to reconnect.

Closes #339
2020-10-02 22:22:33 +02:00
Nic Hite a657916168
Add client validation to server credentials (#363)
* Add ability to validate clients to server credentials.
2020-09-29 11:55:28 -07:00
Nic Hite a774583de0
Beef up exception handling in gRPC code. (#360)
* Beef up exception handling in gRPC code.

* Verify default stacktrace isn't used in exceptions
2020-09-29 01:01:18 -07:00
Nic Hite bb4eab0f1f
Add browser features to Dart gRPC-web for parity with JS implementation. (#347)
* Add bypassCorsPreflight capability to gRPC-web Dart.

* fix tests and run dartfmt.

* remove print statement

* dartfmt

* Update pubspec.

* Fix changelog.

* Fix tests

* final dartfmt

* Respond to requested changes.

* revert extra newline in changelog

Co-authored-by: Michael Thomsen <mit@google.com>
2020-09-24 21:52:35 -07:00
Vyacheslav Egorov dd34af2de4
Fix for Windows Travis builds (#359)
This works around the issue with googlechrome package.

This package downloads an installer from official Google build source
which provides only the latest version. Whenever a new build is 
published Chocolatey package needs to be updated to resolve 
hash mismatch between new installer and what is hardcoded into the
package itself. Usually this happens automatically but
currently the package is stuck in moderation breaking
normal installation flow. 

We work around the issue by hardcoding the hash for the
current installer version.
2020-09-23 11:37:14 +02:00
Vyacheslav Egorov b70f069671
Prepare to publish 2.2.3 (#355) 2020-09-21 12:18:36 +02:00
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 17a40219ba
Regenerate certificates used by tests. (#352)
Current certificates don't pass verification on Mac OS X Catalina
making it impossible to run test suite on Mac laptops.
2020-09-18 10:27:36 +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
Patrice Chalin 6fa4616bac
Example: route guide client cleanup (#350)
Match the tutorial code: the `channel` variable should be a local variable rather than a member of `Client`.
2020-09-16 14:18:17 +02:00
Mehmet Fidanboylu ad2c0f6f3e
Use SecureSocket.connect directly if there's no authority in Credentials (#343) 2020-08-27 15:06:54 -07:00
Patrice Chalin 5891eb81bb
Relax crypto version constraint (for Flutter) (#322) 2020-08-04 10:19:36 +02:00
Patrice Chalin 3d9c8c760c
Fix typo in changelog: grpc-web.dart -> grpc_web.dart (#323) 2020-08-03 22:22:11 +02:00
Patrice Chalin ae0a7df169
README rework: link into language/dart page on grpc.io etc (#324) 2020-08-03 15:50:55 +02: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
Sigurd Meldgaard 27d9164f28
Add direct dependency to package:crypto. (#316) 2020-06-11 14:33:23 +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
Patrice Chalin 4ba2a13b16
Fix typo in example README (#288) 2020-03-30 12:42:58 +02:00
Jiangtao Li 496c8b07d1
Update test credentials to use 2048-bit RSA (#285) 2020-03-23 14:20:21 +01:00
Patrice Chalin 63dd99e3f3
helloworld and route_guide: update to protobuf v1 (#279) 2020-03-10 09:06:16 +01: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
Igor Demyanov caa1a31bb8 ignore '.idea' directory (#251) 2019-11-29 08:06:46 +01:00
Sigurd Meldgaard 6061512afa
Grpc-web Handle empty trailers (#247)
* Grpc-web Handle empty trailers
2019-11-07 10:52:13 +01:00
Michael Thomsen fd92060ad0
Update README.md (#245) 2019-10-31 10:16:07 +01:00
Sigurd Meldgaard 588c21e542
Avoid sending headers as trailers twice (#244) 2019-10-24 09:35:28 +02:00
Tim e70ea6f2d0 Fix grpc-web import in Readme (#243) 2019-10-23 11:02:46 +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 7af96e5ced
Update test certificate (#241)
The old one was expired.
This one will expire in 2119 hopefully making it somebody elses problem.
2019-09-24 13:32:32 +01:00
Sigurd Meldgaard 20352dd718 Use host without port as authority when making secure connection (#238) 2019-09-09 09:41:56 +02:00
Jan Tattermusch 8e23f00f41 Update MAINTAINERS.md (#234) 2019-08-27 14:37:35 +02:00