getServerInfo function
Get server information from the /info endpoint (no authentication required).
Useful for checking server availability and version before connecting.
Implementation
Future<ServerInfoMessage> getServerInfo(String serverUrl) async {
try {
final response = await http.get(Uri.parse(serverUrl).resolve('info'));
if (response.statusCode != 200) {
throw CannotConnectException('Failed to get server info with status ${response.statusCode}');
}
return ServerInfoMessage.fromJson(jsonDecode(response.body) as Map<String, dynamic>);
} on CannotConnectException {
rethrow;
} on http.ClientException catch (e) {
throw CannotConnectException(e.message);
}
}