formatUri static method

Uri formatUri({
  1. required String protocol,
  2. required String version,
  3. required String topic,
  4. required String symKey,
  5. required Relay relay,
  6. required List<List<String>>? methods,
})

Implementation

static Uri formatUri({
  required String protocol,
  required String version,
  required String topic,
  required String symKey,
  required Relay relay,
  required List<List<String>>? methods,
}) {
  Map<String, String> params = formatRelayParams(relay);
  params['symKey'] = symKey;
  if (methods != null) {
    params['methods'] = methods
        .map((e) => jsonEncode(e))
        .join(
          ',',
        )
        .replaceAll(
          '"',
          '',
        );
  } else {
    params['methods'] = '[]';
  }

  return Uri(
    scheme: protocol,
    path: '$topic@$version',
    queryParameters: params,
  );
}