callApi method
Implementation
Future<Map<String, dynamic>> callApi(
String functionName,
Map<String, dynamic> payload,
) async {
final url = _resolveUrl(functionName);
final idToken = await authManager.getIdToken();
final response = await http.post(
Uri.parse(url),
headers: {
'Content-Type': 'application/json',
'Authorization': 'Bearer $idToken',
},
body: jsonEncode(payload),
);
if (response.statusCode < 200 || response.statusCode >= 300) {
throw HttpException(
'API $functionName failed: ${response.statusCode} ${response.body}',
);
}
if (response.body.isEmpty) {
return {};
}
return jsonDecode(response.body) as Map<String, dynamic>;
}