using System.Collections.Specialized; using System.Net; using YandexMusic.API.Common; using YandexMusic.API.Models.Common; using YandexMusic.API.Requests.Common; using YandexMusic.API.Requests.Common.Attributes; namespace YandexMusic.API.Requests.Track; [YRequest(WebRequestMethods.Http.Get, "{src}")] public class YStorageDownloadFileBuilder : YRequestBuilder { public YStorageDownloadFileBuilder(YandexMusicApi yandex, AuthStorage auth) : base(yandex, auth) { } protected override Dictionary GetSubstitutions(string src) { return new Dictionary { { "src", src.Split('?')[0] } }; } protected override NameValueCollection GetQueryParams(string src) { NameValueCollection query = new() { { "format", "json" } }; src.Split('?')[1] .Split('&') .ToList() .ForEach(p => { string[] param = p.Split('='); query.Add(param[0], param[1]); }); return query; } }