From e883de8c957a23d14103e547c7ddbbab161a43db Mon Sep 17 00:00:00 2001 From: sentriz Date: Mon, 2 May 2022 14:50:38 +0100 Subject: [PATCH] fix(listenbrainz): set json header closes #216 related https://github.com/sentriz/gonic/issues/216 related https://github.com/krateng/maloja/issues/141 --- scrobble/listenbrainz/listenbrainz.go | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/scrobble/listenbrainz/listenbrainz.go b/scrobble/listenbrainz/listenbrainz.go index c01a9b0d..dd1b0cdf 100644 --- a/scrobble/listenbrainz/listenbrainz.go +++ b/scrobble/listenbrainz/listenbrainz.go @@ -76,19 +76,22 @@ func (s *Scrobbler) Scrobble(user *db.User, track *db.Track, stamp time.Time, su } else { scrobble.ListenType = listenTypePlayingNow } - payloadBuf := bytes.Buffer{} + + var payloadBuf bytes.Buffer if err := json.NewEncoder(&payloadBuf).Encode(scrobble); err != nil { return err } submitURL := fmt.Sprintf("%s%s", user.ListenBrainzURL, submitPath) authHeader := fmt.Sprintf("Token %s", user.ListenBrainzToken) req, _ := http.NewRequest(http.MethodPost, submitURL, &payloadBuf) + req.Header.Add("Content-Type", "application/json") req.Header.Add("Authorization", authHeader) resp, err := http.DefaultClient.Do(req) if err != nil { return fmt.Errorf("http post: %w", err) } defer resp.Body.Close() + respBytes, _ := httputil.DumpResponse(resp, true) switch { case resp.StatusCode == http.StatusUnauthorized: