generateTransportUrl method
Implementation
String generateTransportUrl(String url) {
var uri = Uri.parse(url);
var pathSegments = <String>[];
pathSegments.addAll(uri.pathSegments);
pathSegments.add(_generateServerId());
pathSegments.add(_generateSessionId());
pathSegments.add('websocket');
uri = Uri(
scheme: uri.scheme,
host: uri.host,
port: uri.port,
query: uri.query,
fragment: null,
pathSegments: pathSegments,
);
var transportUrl = uri.toString();
if (transportUrl.startsWith('https')) {
transportUrl = 'wss' + transportUrl.substring(5);
} else if (transportUrl.startsWith('http')) {
transportUrl = 'ws' + transportUrl.substring(4);
} else {
throw ArgumentError('The url has to start with http/https');
}
return transportUrl;
}