supportsRangeRequests method
first value is whether the server supports range requests
second value is the content length of the blob in bytes
Implementation
@override
Future<Tuple<bool, int?>> supportsRangeRequests({
required String sha256,
required String serverUrl,
}) async {
try {
final response = await client.head(
url: Uri.parse('$serverUrl/$sha256'),
);
final acceptRanges = response.headers['accept-ranges'];
final contentLength =
int.tryParse(response.headers['content-length'] ?? '');
return Tuple(acceptRanges?.toLowerCase() == 'bytes', contentLength);
} catch (e) {
return Tuple(false, null);
}
}