diff --git a/CHANGELOG.md b/CHANGELOG.md index b111b40..cec7039 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,11 +2,12 @@ * Avoid name clashes between import prefix and field names. * Avoid name clashes between generated enum and extension class names. +* Updated gRPC client stub generation to match latest changes to dart-lang/grpc-dart. ## 0.7.6 - 2017-08-22 * Updated gRPC client stub generation to produce code matching latest changes to - dart-lang/dart-grpc. + dart-lang/grpc-dart. ## 0.7.5 - 2017-08-04 diff --git a/lib/grpc_generator.dart b/lib/grpc_generator.dart index 76e2378..2c18c5f 100644 --- a/lib/grpc_generator.dart +++ b/lib/grpc_generator.dart @@ -221,13 +221,10 @@ class _GrpcMethod { out.addBlock( '$_clientReturnType $_dartName($_argumentType request, {CallOptions options}) {', '}', () { + final requestStream = + _clientStreaming ? 'request' : 'new Stream.fromIterable([request])'; out.println( - 'final call = \$createCall(_\$$_dartName, options: options);'); - if (_clientStreaming) { - out.println('request.pipe(call.request);'); - } else { - out.println('call.request..add(request)..close();'); - } + 'final call = \$createCall(_\$$_dartName, $requestStream, options: options);'); if (_serverStreaming) { out.println('return new ResponseStream(call);'); } else { diff --git a/test/file_generator_test.dart b/test/file_generator_test.dart index eb09834..5bece2f 100644 --- a/test/file_generator_test.dart +++ b/test/file_generator_test.dart @@ -534,32 +534,27 @@ class TestClient extends Client { : super(channel, options: options); ResponseFuture unary(Input request, {CallOptions options}) { - final call = $createCall(_$unary, options: options); - call.request - ..add(request) - ..close(); + final call = $createCall(_$unary, new Stream.fromIterable([request]), + options: options); return new ResponseFuture(call); } ResponseFuture clientStreaming(Stream request, {CallOptions options}) { - final call = $createCall(_$clientStreaming, options: options); - request.pipe(call.request); + final call = $createCall(_$clientStreaming, request, options: options); return new ResponseFuture(call); } ResponseStream serverStreaming(Input request, {CallOptions options}) { - final call = $createCall(_$serverStreaming, options: options); - call.request - ..add(request) - ..close(); + final call = $createCall( + _$serverStreaming, new Stream.fromIterable([request]), + options: options); return new ResponseStream(call); } ResponseStream bidirectional(Stream request, {CallOptions options}) { - final call = $createCall(_$bidirectional, options: options); - request.pipe(call.request); + final call = $createCall(_$bidirectional, request, options: options); return new ResponseStream(call); } }