accept method

StreamSubscription<Message> accept({
  1. required void onDone(),
  2. required void onError(
    1. dynamic error,
    2. dynamic stackTrace
    ),
})

Implementation

StreamSubscription<Message> accept({
  required void Function() onDone,
  required void Function(dynamic error, dynamic stackTrace) onError,
}) {
  return _socket
      .transform(BytesSplitter())
      .transform(BytesDecoder())
      .transform(FrameDecoder())
      .listen(
    (event) {
      _lastResponseTime = DateTime.now();
      switch (event.command.toUpperCase()) {
        case 'PRIVMSG':
          _onPrivmsg(event);
          return;
        case 'NOTICE':
          _onNotice(event);
          return;
        case 'PASS':
          return _onPass(event);
        case 'NICK':
          return _onNick(event);
        case 'USER':
          return _onUser(event);
        case 'QUIT':
          _onQuit(event);
          return;
        case 'PING':
          return _onPing(event);
        case 'PONG':
          return _onPong(event);
        case 'JOIN':
          return _onJoin(event);
        case 'PART':
          return _onPart(event);
        case 'MODE':
          return _onMode(event);
        case 'TOPIC':
          return _onTopic(event);
        case 'ISON':
          return _onIson(event);
        case 'AWAY':
          return _onAway(event);
        case 'MOTD':
          return _onMotd(event);
        case 'CAP':
          return _onCap(event);
        case 'AUTHENTICATE':
          _onAuthenticate(event);
          return;
        case 'ERROR':
          return _onError(event);
        default:
          print(event);
          return _onUnknown(event);
      }
    },
    onError: (error, stackTrace) {
      print(error);
      _closeSocket(flush: false)
          .then((_) => onError(error, stackTrace))
          .catchError(onError);
    },
    onDone: () {
      _closeSocket().then((_) => onDone()).catchError(onError);
    },
  );
}