diff options
Diffstat (limited to 'models')
| -rw-r--r-- | models/feed/feed.go | 13 | ||||
| -rw-r--r-- | models/item/item_test.go | 11 |
2 files changed, 15 insertions, 9 deletions
diff --git a/models/feed/feed.go b/models/feed/feed.go index 800e47c..504b220 100644 --- a/models/feed/feed.go +++ b/models/feed/feed.go @@ -6,9 +6,10 @@ import ( "strings" "time" + "github.com/PuerkitoBio/goquery" + "adammathes.com/neko/internal/safehttp" "adammathes.com/neko/models" - "github.com/PuerkitoBio/goquery" ) type Feed struct { @@ -152,7 +153,15 @@ func ResolveFeedURL(url string) string { } // goquery is probably overkill here - doc, err := goquery.NewDocument(url) + resp, err = c.Get(url) + if err != nil { + return url + } + defer resp.Body.Close() + doc, err := goquery.NewDocumentFromReader(resp.Body) + if err != nil { + return url + } var f string // loop over each link element, return first one that is of type rss or atom diff --git a/models/item/item_test.go b/models/item/item_test.go index 4e25aad..805c588 100644 --- a/models/item/item_test.go +++ b/models/item/item_test.go @@ -10,9 +10,10 @@ import ( "strings" "testing" + goose "github.com/advancedlogic/GoOse" + "adammathes.com/neko/config" "adammathes.com/neko/models" - goose "github.com/advancedlogic/GoOse" ) func setupTestDB(t *testing.T) { @@ -572,16 +573,12 @@ func TestRewriteImagesWithSrcset(t *testing.T) { input := `<html><head></head><body><img src="https://example.com/image.jpg" srcset="https://example.com/big.jpg 2x"/></body></html>` result := rewriteImages(input) // srcset should be cleared - if bytes.Contains([]byte(result), []byte("srcset")) { - // srcset gets rewritten too — just verify no crash - } + _ = bytes.Contains([]byte(result), []byte("srcset")) } func TestRewriteImagesEmpty(t *testing.T) { result := rewriteImages("") - if result == "" { - // Empty input may produce empty output — that's fine - } + _ = result } type mockExtractor struct { |
