import 'dart:convert'; import 'text_message_format.dart'; /// Writes ASP.NET Core SignalR JSON hub messages. class SignalrProtocol { static String handshakeRequest() => TextMessageFormat.write(jsonEncode({ 'protocol': 'json', 'version': 1, })); static String handshakeResponse({String? error}) => TextMessageFormat.write(jsonEncode({ if (error != null) 'error': error, })); static String invocation({ required String target, required List arguments, String? invocationId, }) { return TextMessageFormat.write(jsonEncode({ 'type': 1, 'target': target, 'arguments': arguments, if (invocationId != null) 'invocationId': invocationId, })); } static String ping() => TextMessageFormat.write(jsonEncode({ 'type': 6, })); static String close({String? error}) => TextMessageFormat.write(jsonEncode({ 'type': 7, if (error != null) 'error': error, })); }