Better error handling

This commit is contained in:
Deluan
2022-12-28 10:19:52 -05:00
committed by Deluan Quintão
parent 949331ed24
commit bc09de6640
8 changed files with 37 additions and 43 deletions
+10 -10
View File
@@ -7,29 +7,29 @@ import (
"time"
"github.com/navidrome/navidrome/conf"
"github.com/navidrome/navidrome/consts"
"github.com/navidrome/navidrome/model"
)
type placeholderReader struct {
type emptyIDReader struct {
artID model.ArtworkID
}
func newPlaceholderReader(_ context.Context, artID model.ArtworkID) (*placeholderReader, error) {
a := &placeholderReader{
func newEmptyIDReader(_ context.Context, artID model.ArtworkID) (*emptyIDReader, error) {
a := &emptyIDReader{
artID: artID,
}
return a, nil
}
func (a *placeholderReader) LastUpdated() time.Time {
return time.Now() // Basically make it non-cacheable
func (a *emptyIDReader) LastUpdated() time.Time {
return consts.ServerStart // Invalidate cached placeholder every server start
}
func (a *placeholderReader) Key() string {
return fmt.Sprintf("0.%d.0.%d", a.LastUpdated().UnixMilli(), conf.Server.CoverJpegQuality)
func (a *emptyIDReader) Key() string {
return fmt.Sprintf("placeholder.%d.0.%d", a.LastUpdated().UnixMilli(), conf.Server.CoverJpegQuality)
}
func (a *placeholderReader) Reader(ctx context.Context) (io.ReadCloser, string, error) {
r, source := extractImage(ctx, a.artID, fromPlaceholder())
return r, source, nil
func (a *emptyIDReader) Reader(ctx context.Context) (io.ReadCloser, string, error) {
return selectImageReader(ctx, a.artID, fromPlaceholder())
}