aboutsummaryrefslogtreecommitdiff
path: root/internal/reader/atom/parser.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/reader/atom/parser.go')
-rw-r--r--internal/reader/atom/parser.go10
1 files changed, 4 insertions, 6 deletions
diff --git a/internal/reader/atom/parser.go b/internal/reader/atom/parser.go
index b685a7a8..aab3e6a4 100644
--- a/internal/reader/atom/parser.go
+++ b/internal/reader/atom/parser.go
@@ -6,9 +6,9 @@ package atom // import "miniflux.app/v2/internal/reader/atom"
import (
"bytes"
"encoding/xml"
+ "fmt"
"io"
- "miniflux.app/v2/internal/errors"
"miniflux.app/v2/internal/model"
xml_decoder "miniflux.app/v2/internal/reader/xml"
)
@@ -18,7 +18,7 @@ type atomFeed interface {
}
// Parse returns a normalized feed struct from a Atom feed.
-func Parse(baseURL string, r io.Reader) (*model.Feed, *errors.LocalizedError) {
+func Parse(baseURL string, r io.Reader) (*model.Feed, error) {
var buf bytes.Buffer
tee := io.TeeReader(r, &buf)
@@ -29,10 +29,8 @@ func Parse(baseURL string, r io.Reader) (*model.Feed, *errors.LocalizedError) {
rawFeed = new(atom10Feed)
}
- decoder := xml_decoder.NewDecoder(&buf)
- err := decoder.Decode(rawFeed)
- if err != nil {
- return nil, errors.NewLocalizedError("Unable to parse Atom feed: %q", err)
+ if err := xml_decoder.NewDecoder(&buf).Decode(rawFeed); err != nil {
+ return nil, fmt.Errorf("atom: unable to parse feed: %w", err)
}
return rawFeed.Transform(baseURL), nil