performTextTranslationRequest method

Future<String?> performTextTranslationRequest(
  1. String text,
  2. String sourceLang,
  3. String targetLang,
  4. List<String> ignoreWords,
)

Implementation

Future<String?> performTextTranslationRequest(String text, String sourceLang,
    String targetLang, List<String> ignoreWords) async {
  final apiUrl = Uri.parse('$baseUrl/text');
  final response = await http.post(apiUrl,
      headers: _getTextRequestHeader(sourceLang, targetLang, ignoreWords),
      body: text);

  if (response.statusCode != 202) {
    var errorResponseMap = jsonDecode(response.body) as Map<String, dynamic>;

    throw Exception(
        'Failed to translate text: ErrorCode: ${errorResponseMap['errorCode']}, ErrorMessage: ${errorResponseMap['message']}');
  }

  var result = utf8.decode(response.bodyBytes);
  return result;
}