43 lines
1.2 KiB
C#
43 lines
1.2 KiB
C#
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<YStorageDownloadFile, string>
|
|
{
|
|
public YStorageDownloadFileBuilder(YandexMusicApi yandex, AuthStorage auth) : base(yandex, auth)
|
|
{
|
|
}
|
|
|
|
protected override Dictionary<string, string> GetSubstitutions(string src)
|
|
{
|
|
return new Dictionary<string, string> {
|
|
{ "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;
|
|
}
|
|
}
|
|
} |