aboutsummaryrefslogtreecommitdiff
path: root/internal/reader/rss/parser.go
diff options
context:
space:
mode:
authorGravatar Frédéric Guillot <f@miniflux.net> 2024-03-13 21:06:28 -0700
committerGravatar Frédéric Guillot <f@miniflux.net> 2024-03-13 21:25:09 -0700
commit648b9a8f6f1e2aad032caed11df64f449ea157c1 (patch)
tree729d0e2435a43883632fc3ff3cde1d83642fa438 /internal/reader/rss/parser.go
parent66b8483791e58030c0cc3b5c5d82b0b0d5e87cec (diff)
downloadv2-648b9a8f6f1e2aad032caed11df64f449ea157c1.tar.gz
v2-648b9a8f6f1e2aad032caed11df64f449ea157c1.tar.zst
v2-648b9a8f6f1e2aad032caed11df64f449ea157c1.zip
Refactor RSS Parser to use an adapter
Diffstat (limited to 'internal/reader/rss/parser.go')
-rw-r--r--internal/reader/rss/parser.go6
1 files changed, 3 insertions, 3 deletions
diff --git a/internal/reader/rss/parser.go b/internal/reader/rss/parser.go
index 55122ea4..92f64f92 100644
--- a/internal/reader/rss/parser.go
+++ b/internal/reader/rss/parser.go
@@ -13,11 +13,11 @@ import (
// Parse returns a normalized feed struct from a RSS feed.
func Parse(baseURL string, data io.ReadSeeker) (*model.Feed, error) {
- feed := new(rssFeed)
+ rssFeed := new(RSS)
decoder := xml.NewXMLDecoder(data)
decoder.DefaultSpace = "rss"
- if err := decoder.Decode(feed); err != nil {
+ if err := decoder.Decode(rssFeed); err != nil {
return nil, fmt.Errorf("rss: unable to parse feed: %w", err)
}
- return feed.Transform(baseURL), nil
+ return NewRSSAdapter(rssFeed).BuildFeed(baseURL), nil
}