decodeTrack method
Decode a single track
Implementation
Future<Track> decodeTrack(String encoded) async {
LavalinkLogger.debug('Decoding track', tag: 'REST');
try {
final uri = Uri.parse('$baseUrl/v4/decodetrack')
.replace(queryParameters: {'encodedTrack': encoded});
final request = await _httpClient.getUrl(uri);
_addHeaders(request);
final response = await request.close();
final responseBody = await _readResponse(response);
if (response.statusCode != 200) {
throw LavalinkException(
'Failed to decode track: ${response.statusCode}',
statusCode: response.statusCode,
);
}
final json = jsonDecode(responseBody) as Map<String, dynamic>;
return Track.fromJson(json);
} catch (e) {
if (e is LavalinkException) rethrow;
throw LavalinkException('Failed to decode track: $e', cause: e);
}
}