From 1211164b79c48f6d0ad998f6c565f414e5c323a5 Mon Sep 17 00:00:00 2001 From: Big Duckie Date: Tue, 31 Dec 2024 03:31:06 -0700 Subject: [PATCH] Actually handle all possible errors while attempting to read comicinfo.xml. --- app/routes/routes.go | 34 +++++++++++++++++++++++++++++----- main.go | 2 +- 2 files changed, 30 insertions(+), 6 deletions(-) diff --git a/app/routes/routes.go b/app/routes/routes.go index 6935440..343cf06 100644 --- a/app/routes/routes.go +++ b/app/routes/routes.go @@ -80,9 +80,22 @@ func Index(w http.ResponseWriter, r *http.Request) { if err != nil { return nil } - cib, _ := io.ReadAll(cif) - _ = cif.Close() - _ = xml.Unmarshal(cib, &ComicInfo) + + cib, err := io.ReadAll(cif) + if err != nil { + return nil + } + + err = cif.Close() + if err != nil { + return nil + } + + err = xml.Unmarshal(cib, &ComicInfo) + if err != nil { + return nil + } + c.Set(path, ComicInfo, cache.NoExpiration) } } @@ -132,10 +145,21 @@ func Index(w http.ResponseWriter, r *http.Request) { if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + + err = defaults.Set(&feed) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + + data, err := xml.MarshalIndent(feed, "", " ") + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return } - _ = defaults.Set(&feed) - data, _ := xml.MarshalIndent(feed, "", " ") http.ServeContent(w, r, "feed.xml", time.Now(), bytes.NewReader(data)) } diff --git a/main.go b/main.go index 76ea996..c4a1edd 100644 --- a/main.go +++ b/main.go @@ -14,7 +14,7 @@ func main() { app := cli.NewApp() app.Name = "go-opds-pse" app.Usage = "A lightweight OPDS server with PSE support." - app.Version = "1.0.0+dev" + app.Version = "1.0.1+dev" app.Flags = []cli.Flag{ cmd.StringFlag("manga, m", "manga", "default manga folder"), }