getTransactionContent function Null safety

Future<String> getTransactionContent(
  1. String address,
  2. String endpoint
)

Implementation

Future<String> getTransactionContent(String address, String endpoint) async {
  final Completer<String> _completer = Completer<String>();
  String _content = "";
  TransactionResponse? transactionResponse = new TransactionResponse();

  final Map<String, String> requestHeaders = {
    'Content-type': 'application/json',
    'Accept': 'application/json',
  };

  String _body =
      '{"query":"query { transaction(address: \\"$address\\") { data { content }} }"}';
  print(_body);

  try {
    http.Response responseHttp = await http.post(Uri.parse(endpoint + '/api'),
        body: _body, headers: requestHeaders);
    print(responseHttp.body);

    if (responseHttp.statusCode == 200) {
      transactionResponse = transactionResponseFromJson(responseHttp.body);
      if (transactionResponse.data != null &&
          transactionResponse.data!.transaction != null &&
          transactionResponse.data!.transaction!.data != null) {
        _content = transactionResponse.data!.transaction!.data!.content!;
      }
    }
  } catch (e) {
    print("error: " + e.toString());
  }

  _completer.complete(_content);
  return _completer.future;
}