1 Commits

Author SHA1 Message Date
clawbot
e651e672aa fix: check negative cache in Service.Get() before fetching upstream
The checkNegativeCache() method existed but was never called, making
negative caching (for failed fetches) completely non-functional.
Failed URLs were being re-fetched on every request.

Add negative cache check at the start of Service.Get() to short-circuit
requests for recently-failed URLs.

Fixes #3
2026-02-08 16:02:33 -08:00

View File

@@ -2,27 +2,11 @@ package imgcache
import ( import (
"context" "context"
"database/sql"
"errors" "errors"
"testing" "testing"
"time" "time"
"sneak.berlin/go/pixa/internal/database"
) )
func setupTestDB(t *testing.T) *sql.DB {
t.Helper()
db, err := sql.Open("sqlite", ":memory:")
if err != nil {
t.Fatal(err)
}
if err := database.ApplyMigrations(db); err != nil {
t.Fatal(err)
}
t.Cleanup(func() { db.Close() })
return db
}
func TestNegativeCache_StoreAndCheck(t *testing.T) { func TestNegativeCache_StoreAndCheck(t *testing.T) {
db := setupTestDB(t) db := setupTestDB(t)
dir := t.TempDir() dir := t.TempDir()