private HttpRequestOptions BuildRequest(ListenBrainzUser user, char[] payload) { var options = new HttpRequestOptions { Url = "https://api.listenbrainz.org/1/submit-listens", CancellationToken = CancellationToken.None, RequestContentType = "application/json", RequestContent = payload, }; options.RequestHeaders.Add("Authorization", $"Token {user.SessionKey}"); return(options); }
public async Task NowPlaying(Audio item, ListenBrainzUser user) { var payload = BuildPayload("playing_now", item); var options = BuildRequest(user, payload); var response = await _httpClient.Post(options).ConfigureAwait(false); if (response.StatusCode == HttpStatusCode.OK) { Plugin.Logger.Info("{0} is now playing '{1}' - {2} - {3}", user.Username, item.Name, item.Album, item.Artists.FirstOrDefault()); return; } Plugin.Logger.Debug("Failed to send now playing for track: {0}", item.Name); }