performDataTranslationRequest method
Implementation
Future<Map<String, String>> performDataTranslationRequest(
Map<String, String> data,
String sourceLang,
String targetLang,
List<String> ignoreWords) async {
final apiUrl = Uri.parse('$baseUrl/json');
var response = await http.post(apiUrl,
headers: _getJsonRequestHeader(sourceLang, targetLang, ignoreWords),
body: jsonEncode(data));
if (response.statusCode != 202) {
var errorResponseMap = jsonDecode(response.body) as Map<String, dynamic>;
throw Exception(
'Failed to translate data: ErrorCode: ${errorResponseMap['errorCode']}, ErrorMessage: ${errorResponseMap['message']}');
}
var responseMap = jsonDecode(response.body) as Map<String, dynamic>;
var result = responseMap['data'] as Map<String, dynamic>;
// convert to Map<String, String>
var stringMap = <String, String>{};
result.forEach((key, value) {
stringMap[key] = value as String;
});
return stringMap;
}