Return 404 when artwork is not available in /share/img endpoint

This commit is contained in:
Deluan
2023-01-31 18:22:49 -05:00
committed by Deluan Quintão
parent 128b626ec9
commit d8e794317f
13 changed files with 75 additions and 90 deletions
+7 -2
View File
@@ -7,6 +7,7 @@ import (
"net/http"
"time"
"github.com/navidrome/navidrome/core/artwork"
"github.com/navidrome/navidrome/log"
"github.com/navidrome/navidrome/model"
"github.com/navidrome/navidrome/utils"
@@ -28,13 +29,17 @@ func (p *Router) handleImages(w http.ResponseWriter, r *http.Request) {
}
size := utils.ParamInt(r, "size", 0)
imgReader, lastUpdate, err := p.artwork.Get(ctx, artId.String(), size)
imgReader, lastUpdate, err := p.artwork.Get(ctx, artId, size)
switch {
case errors.Is(err, context.Canceled):
return
case errors.Is(err, model.ErrNotFound):
log.Error(r, "Couldn't find coverArt", "id", id, err)
log.Warn(r, "Couldn't find coverArt", "id", id, err)
http.Error(w, "Artwork not found", http.StatusNotFound)
return
case errors.Is(err, artwork.ErrUnavailable):
log.Debug(r, "Item does not have artwork", "id", id, err)
http.Error(w, "Artwork not found", http.StatusNotFound)
return
case err != nil: