prepareMessage method

  1. @override
Future<Uint8List?> prepareMessage(
  1. BuildContext? context
)
override

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();
    }
  }
}