connect method

Future<void> connect(
  1. String url,
  2. String token
)

Implementation

Future<void> connect(String url, String token) async {
  channel = GrpcWebClientChannel.xhr(Uri.parse(url));
  socket = WsClient(channel);

  Map<String, String> metaData = {"Authorization": "Bearer $token"};
  WebCallOptions callOptions = WebCallOptions(
      bypassCorsPreflight: true, withCredentials: false, metadata: metaData);

  controller.add(Message());
  Message ping = Message(payload: utf8.encode("Pong"));
  Stream<Message> stream = Stream<Message>.value(ping);

  final streaming = socket.streaming(stream, options: callOptions);
  streaming.listen((response) {
    print("...listening... $response");
    controller.add(response);
  }, onError: (error) {
    print("...error... $error");
    controller.addError(error);
  }, onDone: () {
    print('Closed connection to server.');
    controller.close();
  });
}