parseResponseBody method
Response parsing.
- dataRaw response.
- completerCallback.
- responseThe original resposne object.
Implementation
Future<Map<String, dynamic>> parseResponseBody({
  required String data,
  required Completer<Map<String, dynamic>> completer,
  Response<dynamic>? response,
}) {
  // String decryptResponseJson = encrypt.decrypt64(data, iv: iv);
  String decryptResponseJson = data;
  if (decryptResponseJson.isEmpty) {
    return Future<Map<String, dynamic>>.value(
      {"error": 'Error decrypt data: ${response?.data}'},
    );
  }
  dynamic responseDataObj = json.decode(decryptResponseJson);
  if (responseDataObj is! Map<String, dynamic>) {
    return Future<Map<String, dynamic>>.value(
      {"error": 'Error parsed response data: ${response?.data}'},
    );
  }
  dynamic respCode = responseDataObj[http.config.keys.responseCode];
  if (respCode is String) {
    if (respCode == http.config.codes.tokenExpired) {
      http.config.callbacks?.handleTokenExpiredAction(http, responseDataObj);
    } else if (respCode == http.config.codes.lowVersion) {
      http.config.callbacks?.handleUpdatesAction(http, responseDataObj);
    }
  }
  completer.complete(Future<Map<String, dynamic>>.value(
      responseDataObj as FutureOr<Map<String, dynamic>>?)
  );
  return completer.future;
}