using System.Net; using System.Net.Http.Headers; using YandexMusic.API.Models.Account; using YandexMusic.API.Requests.Common; namespace YandexMusic.API.Requests.Passport; internal class YGetMusicTokenBuilder : YPassportRequestBuilder { public YGetMusicTokenBuilder(YandexMusicApi api) : base(api) { } protected override string BaseUrl => YConstants.Endpoints.MobilePassportUrl; protected override string Method => WebRequestMethods.Http.Post; protected override string PathTemplate => "/1/token"; protected override HttpContent? GetContent(string passportToken) => new FormUrlEncodedContent(new Dictionary { { "client_id", YConstants.ClientId }, { "client_secret", YConstants.ClientSecret }, { "grant_type", "x-token" }, { "access_token", passportToken } }); protected override void SetCustomHeaders(HttpRequestHeaders headers) { headers.Remove("Authorization"); } }