parseDevServerUri static method
Parses a bloom://dev-server?... QR code URI into host, port, and project parameters.
Implementation
static Map<String, dynamic> parseDevServerUri(Uri uri) {
if (uri.scheme != 'bloom') {
throw FormatException('Invalid scheme "${uri.scheme}", expected "bloom".');
}
final query = uri.queryParameters;
final host = query['host'];
if (host == null || host.isEmpty) {
throw FormatException('Invalid or missing host in dev server URI: $uri');
}
final port = int.tryParse(query['port'] ?? '') ?? 8080;
final projectId = query['id'] ?? query['project'] ?? 'unknown';
return {
'host': host,
'port': port,
'projectId': projectId,
'project': projectId,
'version': query['v'] ?? '0.1.0',
'httpBaseUrl': 'http://$host:$port',
};
}