8b71a9dab2 
								
							 
						 
						
							
							
								
								Ensure CallOptions merge preserves Web specific options  
							
							
							
						 
						
							2020-11-11 15:49:39 +01:00  
				
					
						
							
							
								 
						
							
								52bea07000 
								
							 
						 
						
							
							
								
								Add support for unix domain sockets ( #327 )  
							
							... 
							
							
							
							Fixes  #299  
						
							2020-11-11 15:43:05 +01:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								21529c6be7 
								
							 
						 
						
							
							
								
								Don't print from server ( #212 )  
							
							... 
							
							
							
							Co-authored-by: Vyacheslav Egorov <vegorov@google.com> 
							
						 
						
							2020-10-29 12:57:47 +01:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								b6e40c34e3 
								
							 
						 
						
							
							
								
								Add decoded grpc-status-details-bin details to GrpcError ( #349 )  
							
							... 
							
							
							
							Closes  #209  
						
							2020-10-27 17:07:58 +01:00  
				
					
						
							
							
								 
						
							
								3d731e0690 
								
							 
						 
						
							
							
								
								Call to onMetadata handles exceptions ( #342 )  
							
							... 
							
							
							
							Co-authored-by: Vyacheslav Egorov <vegorov@google.com> 
							
						 
						
							2020-10-26 15:39:49 +01:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								831f5d8cfb 
								
							 
						 
						
							
							
								
								Revert "Not to fail pending requests, just reschedule it ( #303 )" ( #366 )  
							
							... 
							
							
							
							This reverts commit 9ed03b6b96Closes  #339  
							
						 
						
							2020-10-02 22:22:33 +02:00  
				
					
						
							
							
								 
						
							
								a657916168 
								
							 
						 
						
							
							
								
								Add client validation to server credentials ( #363 )  
							
							... 
							
							
							
							* Add ability to validate clients to server credentials. 
							
						 
						
							2020-09-29 11:55:28 -07:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								3414356950 
								
							 
						 
						
							
							
								
								Revert "Support grpc-web in pure dart ( #287 )" ( #351 )  
							
							... 
							
							
							
							This reverts commit c513e1467f 
							
						 
						
							2020-09-17 10:59:15 -07:00  
				
					
						
							
							
								 
						
							
								ad2c0f6f3e 
								
							 
						 
						
							
							
								
								Use SecureSocket.connect directly if there's no authority in Credentials ( #343 )  
							
							
							
						 
						
							2020-08-27 15:06:54 -07:00  
				
					
						
							
							
								 
						
							
								e4947e2909 
								
							 
						 
						
							
							
								
								Encode server error message ( #330 )  
							
							
							
						 
						
							2020-07-24 10:20:23 +02:00  
				
					
						
							
							
								 
						
							
								98ff843751 
								
							 
						 
						
							
							
								
								Decode gRPC error message ( #326 )  
							
							
							
						 
						
							2020-07-20 16:11:19 +02:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								9ed03b6b96 
								
							 
						 
						
							
							
								
								Not to fail pending requests, just reschedule it ( #303 )  
							
							
							
						 
						
							2020-06-08 10:16:00 +02:00  
				
					
						
							
							
								 
						
							
								c513e1467f 
								
							 
						 
						
							
							
								
								Support grpc-web in pure dart ( #287 )  
							
							... 
							
							
							
							By using package:http for making connections. 
							
						 
						
							2020-05-12 09:01:36 +02:00  
				
					
						
							
							
								 
						
							
								39c751128c 
								
							 
						 
						
							
							
								
								Use tcpNoDelay option for sockets ( #298 )  
							
							
							
						 
						
							2020-05-11 12:47:15 +02:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								7d3b3749e8 
								
							 
						 
						
							
							
								
								server: Cancel call when the outgoing messages are closed ( #274 )  
							
							
							
						 
						
							2020-01-28 09:29:05 +01:00  
				
					
						
							
							
								 
						
							
								ae17e712e4 
								
							 
						 
						
							
							
								
								Share port support ( #253 )  
							
							... 
							
							
							
							* Share port support 
							
						 
						
							2019-12-04 09:35:02 +01:00  
				
					
						
							
							
								 
						
							
								6061512afa 
								
							 
						 
						
							
							
								
								Grpc-web Handle empty trailers ( #247 )  
							
							... 
							
							
							
							* Grpc-web Handle empty trailers 
							
						 
						
							2019-11-07 10:52:13 +01:00  
				
					
						
							
							
								 
						
							
								588c21e542 
								
							 
						 
						
							
							
								
								Avoid sending headers as trailers twice ( #244 )  
							
							
							
						 
						
							2019-10-24 09:35:28 +02:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								20352dd718 
								
							 
						 
						
							
							
								
								Use host without port as authority when making secure connection ( #238 )  
							
							
							
						 
						
							2019-09-09 09:41:56 +02:00  
				
					
						
							
							
								 
						
							
								b7be3af34b 
								
							 
						 
						
							
							
								
								Fix use of authority when making a secure connection  
							
							
							
						 
						
							2019-08-22 14:26:29 +02:00  
				
					
						
							
							
								 
						
							
								992e2dcc29 
								
							 
						 
						
							
							
								
								Improve connection handling ( #231 )  
							
							... 
							
							
							
							* Improve connection handling
* Address review. Add round-trip-test 
							
						 
						
							2019-08-19 15:31:16 +02:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								9d2a469655 
								
							 
						 
						
							
							
								
								Provide scheme as part of audience ( #211 )  
							
							
							
						 
						
							2019-06-28 15:24:59 +02:00  
				
					
						
							
							
								 
						
							
								dcac905a13 
								
							 
						 
						
							
							
								
								Fix interop ( #207 )  
							
							... 
							
							
							
							* Fix computation of authority 
							
						 
						
							2019-06-27 14:43:15 +02:00  
				
					
						
							
							
								 
						
							
								054ac9de3c 
								
							 
						 
						
							
							
								
								Fix imports ( #199 )  
							
							
							
						 
						
							2019-06-25 13:00:58 +02:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								c9c4e40088 
								
							 
						 
						
							
							
								
								Remove unnecessary 'new' and 'const' keywords. ( #186 )  
							
							
							
						 
						
							2019-06-04 11:31:01 -07:00  
				
					
						
							
							
								 
						
							
								c65afe9ec0 
								
							 
						 
						
							
							
								
								Add userAgent for ChannelOptions ( #155 )  
							
							... 
							
							
							
							Add userAgent for ChannelOptions 
							
						 
						
							2019-05-28 12:31:35 +02:00  
				
					
						
							
							
								 
						
							
								f3e1e32973 
								
							 
						 
						
							
							
								
								Allow authority for insecure connections ( #179 )  
							
							
							
						 
						
							2019-05-23 15:48:46 +02:00  
				
					
						
							
							
								 
						
							
								92731e1a71 
								
							 
						 
						
							
							
								
								Cancel `ServerHandler` when `ServerTransportConnection.incomingStreams` is closed   ( #164 )  
							
							... 
							
							
							
							* Cancel ServerHandler when connection closes 
							
						 
						
							2019-04-03 14:57:55 +02:00  
				
					
						
							
							
								 
						
							
								d7ae930e7f 
								
							 
						 
						
							
							
								
								Revert "Support grpc-web" ( #159 )  
							
							... 
							
							
							
							This reverts commit d58659507chttps://github.com/grpc/grpc-dart/tree/grpc-web  until it is ready. 
							
						 
						
							2019-03-18 13:46:50 +01:00  
				
					
						
							
							
								 
						
							
								d58659507c 
								
							 
						 
						
							
							
								
								Support grpc-web  
							
							
							
						 
						
							2019-03-15 12:51:06 +01:00  
				
					
						
							
							
								 
						
							
								76159960e2 
								
							 
						 
						
							
							
								
								Add service_api.dart with platform independent exports ( #152 )  
							
							
							
						 
						
							2019-01-24 13:44:59 +01:00  
				
					
						
							
							
								 
						
							
								eafca2ab28 
								
							 
						 
						
							
							
								
								Replace Future<Null> with Future<void>. ( #146 )  
							
							
							
						 
						
							2019-01-03 08:13:25 +01:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								3e3ba6682f 
								
							 
						 
						
							
							
								
								allows async interceptors ( #120 )  
							
							... 
							
							
							
							* allows async interceptors
* prevent chunks to come before starting streaming request 
							
						 
						
							2018-09-18 08:17:39 +02:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								17ce11f7fc 
								
							 
						 
						
							
							
								
								Allow for non ascii headers ( #103 )  
							
							
							
						 
						
							2018-07-19 15:46:23 +02:00  
				
					
						
							
							
								 
						
							
								238fd7ec67 
								
							 
						 
						
							
							
								
								Finish migrating to the Dart 2 core library constants. ( #101 )  
							
							
							
						 
						
							2018-07-19 15:16:58 +02:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								686ecb3943 
								
							 
						 
						
							
							
								
								Dart 2 fixes ( #77 )  
							
							
							
						 
						
							2018-04-05 09:43:42 +02:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								3f60746689 
								
							 
						 
						
							
							
								
								Fix lint. ( #58 )  
							
							
							
						 
						
							2018-02-06 13:31:59 -08:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								a01be59ab4 
								
							 
						 
						
							
							
								
								Change license to Apache to be consistent with other gRPC repos ( #47 )  
							
							
							
						 
						
							2018-01-12 15:14:19 +01:00  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								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  
				
					
						
							
							
								 
						
							
								2f118ea043 
								
							 
						 
						
							
							
								
								Preparation for RPC multiplexing ( #31 )  
							
							... 
							
							
							
							First stage of separating Connection from Channel. A Channel manages
multiple Connections, and chooses which Connection to send an RPC on.
In this change, the Channel still creates a Connection for each RPC.
Managing the Connection life-cycle comes in a later change. 
							
						 
						
							2017-09-25 13:51:40 +02:00  
				
					
						
							
							
								 
						
							
								05bb6a5d08 
								
							 
						 
						
							
							
								
								Update generated code using latest protoc_plugin. ( #30 )  
							
							... 
							
							
							
							Preparation for updating the call generation logic. 
							
						 
						
							2017-08-23 12:47:48 +02:00  
				
					
						
							
							
								 
						
							
								83ee9c2edb 
								
							 
						 
						
							
							
								
								Add TLS support. ( #29 )  
							
							... 
							
							
							
							Added ChannelOptions, which are used to specify options on a
ClientChannel. At the moment, only TLS options are supported.
Moved CallOptions from ClientChannel to a new Client stub base class.
Per-RPC call options are now specified on the stub instead of on the
channel, allowing several stubs with different options to share the same
channel.
Added support for TLS on the server side. TLS options are specified when
creating the Server. 
							
						 
						
							2017-08-17 09:45:11 +02:00  
				
					
						
							
							
								 
						
							
								5c4e50c696 
								
							 
						 
						
							
							
								
								Add timeout handling. ( #28 )  
							
							... 
							
							
							
							Fixes  #8 . 
						
							2017-07-31 14:47:29 +02:00  
				
					
						
							
							
								 
						
							
								1d12c5b87d 
								
							 
						 
						
							
							
								
								Add basic server tests. ( #27 )  
							
							
							
						 
						
							2017-07-18 15:14:13 +02:00  
				
					
						
							
							
								 
						
							
								0a0a9ffc89 
								
							 
						 
						
							
							
								
								Basic server interoperability tests. ( #25 )  
							
							... 
							
							
							
							Implements the basic server interoperability tests for gRPC compliance.
Compressed tests, TLS, and authentication are not implemented yet, but
basic test cases pass against the C++ gRPC interoperability client. 
							
						 
						
							2017-07-17 16:12:13 +02:00  
				
					
						
							
							
								 
						
							
								ac317e6e4d 
								
							 
						 
						
							
							
								
								Add basic client tests. ( #26 )  
							
							
							
						 
						
							2017-07-17 15:11:45 +02:00  
				
					
						
							
							
								 
						
							
								ed5e8fb43e 
								
							 
						 
						
							
							
								
								Use correct gRPC error codes. ( #23 )  
							
							... 
							
							
							
							Copied error code definitions from source grpc/grpc repo.
Fixes  #7 . 
							
						 
						
							2017-07-10 12:53:08 +02:00  
				
					
						
							
							
								 
						
							
								a5e740c41a 
								
							 
						 
						
							
							
								
								Custom metadata and call cancellation. ( #22 )  
							
							... 
							
							
							
							Added an example showing how to send/receive custom metadata, and handle
call cancellation.
Implemented the remaining parts of metadata and cancel handling.
Addresses part of #8  and #12 . 
							
						 
						
							2017-07-07 14:31:36 +02:00  
				
					
						
							
							
								 
						
							
								4b8d407eae 
								
							 
						 
						
							
							
								
								Fixes to make Travis Green ( #17 )  
							
							... 
							
							
							
							* Remove unused import
* Only analyze lib and test dirs
  - work-around for https://github.com/dart-lang/sdk/issues/26212 
* enable a few more lints
* remove unused field 
							
						 
						
							2017-06-29 13:11:29 -07:00  
				
					
						
							
							
								 
						
							
								bf8fb94353 
								
							 
						 
						
							
							
								
								Initial import. ( #2 )  
							
							... 
							
							
							
							What works:
* Client and server can talk to each other, all 4 RPC variants.
* Client can talk to Go gRPC server.
What (probably) doesn't work:
* Anything else. 
							
						 
						
							2017-06-28 14:53:42 +02:00