startBidirectionalStream method

CronetGrpcTransportStream startBidirectionalStream(
  1. Uri uri, {
  2. required Map<String, String> metadata,
  3. String? grpcAcceptEncodings,
  4. Codec? compressionCodec,
  5. Duration? timeout,
})

Implementation

CronetGrpcTransportStream startBidirectionalStream(
  Uri uri, {
  required Map<String, String> metadata,
  String? grpcAcceptEncodings,
  grpc.Codec? compressionCodec,
  Duration? timeout,
}) {
  final headers = <String, String>{
    'content-type': 'application/grpc',
    'te': 'trailers',
    'user-agent': _options.userAgent,
    if (timeout != null) 'grpc-timeout': grpc.toTimeoutString(timeout),
    ...metadata,
    if (grpcAcceptEncodings != null)
      'grpc-accept-encoding': grpcAcceptEncodings,
    if (compressionCodec != null)
      'grpc-encoding': compressionCodec.encodingName,
  };

  return CronetGrpcTransportStream(
      uri, headers, _options.codecRegistry, compressionCodec, this);
}