diff --git a/internal/handlers/handlers.go b/internal/handlers/handlers.go index 3bed37e..7cec992 100644 --- a/internal/handlers/handlers.go +++ b/internal/handlers/handlers.go @@ -113,22 +113,22 @@ func (h *RadioHandlers) Stats(w http.ResponseWriter, r *http.Request) { } func (h *RadioHandlers) LastSong(w http.ResponseWriter, r *http.Request) { - songs, err := radio.IcecastLastPlayedSongs(1, h.conf.Icecast.Playlist) + song, err := radio.IcecastLastSong(h.conf.Icecast.Playlist) if err != nil { h.logErr.Println("cannot retrieve last songs:", err) } - if len(songs) == 0 { + if song.Artist == "" { w.WriteHeader(http.StatusNotFound) return } - if tim, err := time.Parse("15:04-0700", songs[0].Time); err == nil { - songs[0].Time = utils.ToClientTimezone(tim, r).Format("15:04") + if tim, err := time.Parse("15:04-0700", song.Time); err == nil { + song.Time = utils.ToClientTimezone(tim, r).Format("15:04") } w.Header().Add("Content-Type", "application/json") - json.NewEncoder(w).Encode(songs[0]) + json.NewEncoder(w).Encode(song) } func (h *RadioHandlers) Playlist(w http.ResponseWriter, _ *http.Request) {