prepareMessage method
Will be called
Implementation
@override
Future<Uint8List?> prepareMessage(BuildContext? context) async {
// Parse first: a malformed URL then throws before a client exists to leak.
final Uri uri = Uri.parse(url);
final http.Client client = _httpClient ?? http.Client();
try {
final http.Response response = await client.get(uri, headers: headers);
if (response.statusCode < 200 || response.statusCode > 299) {
throw http.ClientException('HTTP request failed, statusCode: ${response.statusCode}', uri);
}
return response.bodyBytes;
} finally {
if (_httpClient == null) {
client.close();
}
}
}