vmServiceUriToHttp method

Uri vmServiceUriToHttp(
  1. Uri uri
)

Fixes up a VM Service WebSocket URI to not have a trailing /ws and use the HTTP scheme which is what DDS expects.

Implementation

Uri vmServiceUriToHttp(Uri uri) {
  final isSecure = uri.isScheme('https') || uri.isScheme('wss');
  uri = uri.replace(scheme: isSecure ? 'https' : 'http');

  final segments = uri.pathSegments;
  if (segments.isNotEmpty && segments.last == 'ws') {
    uri = uri.replace(pathSegments: segments.take(segments.length - 1));
  }

  return uri;
}