fix(listenbrainz): set json header

closes #216

related https://github.com/sentriz/gonic/issues/216
related https://github.com/krateng/maloja/issues/141
This commit is contained in:
sentriz
2022-05-02 14:50:38 +01:00
parent f6687df3f3
commit e883de8c95

View File

@@ -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: