batchRequest method
Sends multiple RPC requests in a batch.
Implementation
@override
Future<List<Map<String, dynamic>>> batchRequest(
List<RpcRequest> requests) async {
final batch = requests.map((r) => r.toJson(++_requestId)).toList();
final body = json.encode(batch);
final response = await _client
.post(
Uri.parse(url),
headers: {
'Content-Type': 'application/json',
...headers,
},
body: body,
)
.timeout(timeout);
if (response.statusCode != 200) {
throw RpcError(-32000, 'HTTP error: ${response.statusCode}');
}
final results = json.decode(response.body) as List;
return results.cast<Map<String, dynamic>>();
}