parseUri static method

Map<String, dynamic> parseUri(
  1. Uri uri
)

---- URI HANDLING --- ///

Implementation

static Map<String, dynamic> parseUri(Uri uri) {
  Map<String, dynamic> ret = {};
  String protocol = uri.scheme;
  String path = uri.path;
  final List<String> splitParams = path.split('@');
  if (splitParams.length == 1) {
    throw Error(
      code: 0,
      message: 'Invalid URI: Missing @',
    );
  }
  ret['protocol'] = protocol;
  ret['topic'] = splitParams[0];
  ret['version'] = splitParams[1];
  ret['symKey'] = uri.queryParameters['symKey']!;
  ret['relay'] = Relay(
    uri.queryParameters['relay-protocol']!,
    data: uri.queryParameters.containsKey('relay-data')
        ? uri.queryParameters['relay-data']
        : null,
  );
  // print(ret);
  return ret;
}