performRPC function

Future<RPCMiddleWare> performRPC(
  1. String url,
  2. Map headers,
  3. Map<String, dynamic> request
)

Implementation

Future<RPCMiddleWare> performRPC(
    String url, Map headers, Map<String, dynamic> request) async {
  Client client = new Client();

  var response = await client
      .post(Uri.parse(url),
          headers: headers as Map<String, String>?,
          body: json.encode(request['payload']))
      .whenComplete(client.close);

  Map<String, dynamic> body = json.decode(response.body);

  // response.statusCode;
  // if (response.statusCode >= 400) throw Future.error('connection error');
  var newMapEntry = MapEntry('req', response.request);
  body.addEntries([newMapEntry]);
  return new RPCMiddleWare(body);
}