aboutsummaryrefslogtreecommitdiff
path: root/internal/reader/atom/parser.go
diff options
context:
space:
mode:
authorGravatar Frédéric Guillot <f@miniflux.net> 2023-10-21 19:50:29 -0700
committerGravatar Frédéric Guillot <f@miniflux.net> 2023-10-22 13:09:30 -0700
commit14e25ab9fe09b9951b38e56af2bdff7a0737b280 (patch)
tree1e466305ccf868d0253b09895af29f811a3e3393 /internal/reader/atom/parser.go
parent120aabfbcef4ef453d70861aece3b107b603a911 (diff)
downloadv2-14e25ab9fe09b9951b38e56af2bdff7a0737b280.tar.gz
v2-14e25ab9fe09b9951b38e56af2bdff7a0737b280.tar.zst
v2-14e25ab9fe09b9951b38e56af2bdff7a0737b280.zip
Refactor HTTP Client and LocalizedError packages
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