Commit Graph

254 Commits

Author SHA1 Message Date
Jakob Andersen 38ad37e2ef
Remove superfluous 'is'. (#81) 2018-04-05 13:50:40 +02:00
Jakob Andersen 8a397d8c86
Prepare release 0.4.1 (#80) 2018-04-05 10:14:10 +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
Michael Thomsen c914f67c11
Clarify protoc steps (#69)
* Clarify protoc steps

* Update README.md
2018-03-23 11:11:45 +01:00
Michael Thomsen d9c6f6ed77
Add details about platforms (#70) 2018-03-23 11:11:03 +01:00
Jakob Andersen db484e154e
Prepare release 0.4.0 (#65) 2018-03-19 11:32:05 +01:00
Jakob Andersen 00bab79945
Widen version constraint for async. (#64)
Fixes #63.
2018-03-16 11:31:09 +01: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
Michael Thomsen 9ef437d2be Fix the Travis badge after move (#62) 2018-03-07 09:33:47 +01:00
Jakob Roland Andersen f6126c5325 Add direct dependency on package:http. 2018-02-27 10:21:39 +01:00
Jakob Roland Andersen 26cb308d36 Release 0.3.1 2018-02-27 10:15:15 +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 582ca1b60d
Add helloworld example. (#59)
This will be used in the quickstart docs, similar to the other
languages.
2018-02-20 14:49:04 +01:00
Jakob Andersen 3f60746689
Fix lint. (#58) 2018-02-06 13:31:59 -08:00
Jakob Andersen 325eadec8c
Fix GCE auth interop test. (#57)
Hopefully.
2018-02-06 12:46:53 -08:00
Leaf Petersen ab92276174
Fix bad override in test (#56) 2018-02-06 06:17:19 -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
Michael Thomsen c082e5b673
Update CODE-OF-CONDUCT.md (#49) 2018-01-19 10:50:18 +01:00
Jakob Roland Andersen c5df6eb9aa Prepare release. 2018-01-18 12:14:48 +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
Michael Thomsen dab5f39544
Repo config (#46)
* Create CONTRIBUTING.md

* Create CODE-OF-CONDUCT.md

* Create ISSUE_TEMPLATE

* Review feedback
2018-01-12 10:51:22 +01:00
Michael Thomsen e70e53d12f
Update README.md (#45) 2018-01-12 10:17:36 +01:00
Michael Thomsen 20d49aba5b
Update README.md (#44) 2018-01-02 12:32:55 +00:00
Jakob Andersen 7561a6764e
Fix whitespace. (#42) 2017-12-18 11:31:22 +01:00
Jakob Roland Andersen 0d5ef849f1 Fix date. 2017-12-15 13:01:31 +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 4b420f5cb4
Use thenAnswer() instead of thenReturn() when returning a Stream. (#40)
Mockito will soon start throwing an ArgumentError if thenReturn()
is called with a Future or Stream, as this can result in difficult
to trace errors.
2017-12-12 11:04:53 +01:00
Jakob Andersen b82384ee08 Prepare release 0.1.0. (#35) 2017-10-12 16:26:00 +02: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
Jakob Andersen a9b919a5e9 Added client-side interop tests. (#32) 2017-09-27 13:57:24 +02:00
Jakob Andersen 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
Jakob Andersen 05bb6a5d08 Update generated code using latest protoc_plugin. (#30)
Preparation for updating the call generation logic.
2017-08-23 12:47:48 +02:00
Jakob Andersen 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
Jakob Andersen 5c4e50c696 Add timeout handling. (#28)
Fixes #8.
2017-07-31 14:47:29 +02:00
Jakob Roland Andersen 1b997ada42 Update change log and pubspec for release 0.0.1.
Really only released to reserve the name on pub.
2017-07-18 15:23:06 +02:00
Jakob Andersen 1d12c5b87d Add basic server tests. (#27) 2017-07-18 15:14:13 +02:00
Jakob Andersen 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
Jakob Andersen ac317e6e4d Add basic client tests. (#26) 2017-07-17 15:11:45 +02:00
Jakob Andersen d0c7d14a4e Fix analyze task (#24)
Using `dart_task: dartanalyzer lib test` didn't actually work - looks like Travis just runs the tests instead of the analyzer.

So let's try a custom script instead.
2017-07-11 10:40:44 +02:00
Jakob Andersen 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
Jakob Andersen 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
Jakob Andersen aefc45cbc0 Upgrade package:http2 dependency. (#21)
Picks up fix for sending endStream bit on the requested frame, instead
of on an empty data frame following it.

Needed for interoperability with the Go gRPC client, since it otherwise
failed to recognize the trailer frame sent from the server.

Fixes #13.
2017-07-06 11:37:21 +02:00
Jakob Andersen ff962f8a8c Generated code using new protoc Dart gRPC plugin. (#20)
Updated README.md with instructions on how to regenerate the code.

Fixes #11.
2017-07-06 10:48:25 +02:00
Jakob Andersen 4775f6dd1f Rename examples to example. (#19)
To follow the Dart package guidelines.

Fixes #18.
2017-07-04 19:50:18 +02:00
Kevin Moore 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
Kevin Moore 49f123b6ac Update readme with Travis badge (#16)
And remove redundant header info
2017-06-29 12:28:24 -07:00
Michael Thomsen b0c284578a Enable travis (#15)
* Create .travis.yml

Initial travis config, based on https://github.com/dart-lang/source_gen/blob/master/.travis.yml

* Update .travis.yml

* Fix filename

* Review feedback
2017-06-29 19:38:45 +02:00