Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }