getDataFromUrl static method
Request data from given uri along with headers. May return null if resource is not available or on error.
Implementation
static Future<String?> getDataFromUrl(String url,
[Map<String, String?>? headers, String? sig]) async {
try {
var uri = Uri.parse(url);
if (sig != null) {
final lastSegment = uri.pathSegments.last;
final computedSig =
BetterPlayerClearKeyUtils.computeHmacSha256Base64(sig, lastSegment);
uri = uri.replace(queryParameters: {"sig": computedSig});
}
final request = await _httpClient.getUrl(uri);
if (headers != null) {
headers.forEach((name, value) => request.headers.add(name, value!));
}
final response = await request.close();
var data = "";
await response.transform(const Utf8Decoder()).listen((content) {
data += content.toString();
}).asFuture<String?>();
return data;
} on Exception catch (exception) {
BetterPlayerUtils.log("GetDataFromUrl failed: $exception");
return null;
}
}