diff --git a/core/agents/lastfm/client.go b/core/agents/lastfm/client.go index 22f699271..8bb52c964 100644 --- a/core/agents/lastfm/client.go +++ b/core/agents/lastfm/client.go @@ -6,7 +6,6 @@ import ( "encoding/hex" "encoding/json" "fmt" - "io/ioutil" "net/http" "net/url" "sort" @@ -184,8 +183,7 @@ func (c *Client) makeRequest(method string, params url.Values, signed bool) (*Re } defer resp.Body.Close() - body, _ := ioutil.ReadAll(resp.Body) - decoder := json.NewDecoder(strings.NewReader(string(body))) + decoder := json.NewDecoder(resp.Body) var response Response jsonErr := decoder.Decode(&response) diff --git a/core/scrobbler/play_tracker.go b/core/scrobbler/play_tracker.go index 268440781..de29f04c8 100644 --- a/core/scrobbler/play_tracker.go +++ b/core/scrobbler/play_tracker.go @@ -5,6 +5,8 @@ import ( "sort" "time" + "github.com/navidrome/navidrome/conf" + "github.com/navidrome/navidrome/server/events" "github.com/navidrome/navidrome/log" @@ -172,6 +174,9 @@ func (p *playTracker) dispatchScrobble(ctx context.Context, t *model.MediaFile, var scrobblers map[string]Constructor func Register(name string, init Constructor) { + if !conf.Server.DevEnableScrobble { + return + } if scrobblers == nil { scrobblers = make(map[string]Constructor) } diff --git a/core/scrobbler/play_tracker_test.go b/core/scrobbler/play_tracker_test.go index 5da80047b..7cf6fbe8b 100644 --- a/core/scrobbler/play_tracker_test.go +++ b/core/scrobbler/play_tracker_test.go @@ -5,6 +5,8 @@ import ( "errors" "time" + "github.com/navidrome/navidrome/conf" + "github.com/navidrome/navidrome/server/events" "github.com/navidrome/navidrome/model" @@ -22,7 +24,9 @@ var _ = Describe("PlayTracker", func() { var album model.Album var artist model.Artist var fake *fakeScrobbler + BeforeEach(func() { + conf.Server.DevEnableScrobble = true ctx = context.Background() ctx = request.WithUser(ctx, model.User{ID: "u-1"}) ds = &tests.MockDataStore{}