use single logger everywhere

This commit is contained in:
Nazar Kanaev 2020-08-10 15:47:51 +01:00
parent 5d377a5183
commit e5eb9231fe
2 changed files with 19 additions and 17 deletions

View File

@ -10,7 +10,6 @@ import (
"html/template" "html/template"
"io" "io"
"io/ioutil" "io/ioutil"
"log"
"math" "math"
"mime" "mime"
"net/http" "net/http"
@ -81,7 +80,7 @@ func FolderListHandler(rw http.ResponseWriter, req *http.Request) {
} else if req.Method == "POST" { } else if req.Method == "POST" {
var body NewFolder var body NewFolder
if err := json.NewDecoder(req.Body).Decode(&body); err != nil { if err := json.NewDecoder(req.Body).Decode(&body); err != nil {
log.Print(err) handler(req).log.Print(err)
rw.WriteHeader(http.StatusBadRequest) rw.WriteHeader(http.StatusBadRequest)
return return
} }
@ -112,7 +111,7 @@ func FolderHandler(rw http.ResponseWriter, req *http.Request) {
if req.Method == "PUT" { if req.Method == "PUT" {
var body UpdateFolder var body UpdateFolder
if err := json.NewDecoder(req.Body).Decode(&body); err != nil { if err := json.NewDecoder(req.Body).Decode(&body); err != nil {
log.Print(err) handler(req).log.Print(err)
rw.WriteHeader(http.StatusBadRequest) rw.WriteHeader(http.StatusBadRequest)
return return
} }
@ -166,7 +165,7 @@ func FeedListHandler(rw http.ResponseWriter, req *http.Request) {
} else if req.Method == "POST" { } else if req.Method == "POST" {
var feed NewFeed var feed NewFeed
if err := json.NewDecoder(req.Body).Decode(&feed); err != nil { if err := json.NewDecoder(req.Body).Decode(&feed); err != nil {
log.Print(err) handler(req).log.Print(err)
rw.WriteHeader(http.StatusBadRequest) rw.WriteHeader(http.StatusBadRequest)
return return
} }
@ -174,7 +173,7 @@ func FeedListHandler(rw http.ResponseWriter, req *http.Request) {
feedUrl := feed.Url feedUrl := feed.Url
res, err := http.Get(feedUrl) res, err := http.Get(feedUrl)
if err != nil { if err != nil {
log.Print(err) handler(req).log.Print(err)
rw.WriteHeader(http.StatusBadRequest) rw.WriteHeader(http.StatusBadRequest)
return return
} else if res.StatusCode != 200 { } else if res.StatusCode != 200 {
@ -186,7 +185,7 @@ func FeedListHandler(rw http.ResponseWriter, req *http.Request) {
if strings.HasPrefix(contentType, "text/html") || contentType == "" { if strings.HasPrefix(contentType, "text/html") || contentType == "" {
sources, err := FindFeeds(res) sources, err := FindFeeds(res)
if err != nil { if err != nil {
log.Print(err) handler(req).log.Print(err)
rw.WriteHeader(http.StatusBadRequest) rw.WriteHeader(http.StatusBadRequest)
return return
} }
@ -201,7 +200,7 @@ func FeedListHandler(rw http.ResponseWriter, req *http.Request) {
feedUrl = sources[0].Url feedUrl = sources[0].Url
err = createFeed(db(req), feedUrl, feed.FolderID) err = createFeed(db(req), feedUrl, feed.FolderID)
if err != nil { if err != nil {
log.Print(err) handler(req).log.Print(err)
rw.WriteHeader(http.StatusBadRequest) rw.WriteHeader(http.StatusBadRequest)
return return
} }
@ -247,14 +246,13 @@ func convertItems(items []*gofeed.Item, feed storage.Feed) []storage.Item {
return result return result
} }
func listItems(f storage.Feed) []storage.Item { func listItems(f storage.Feed) ([]storage.Item, error) {
fp := gofeed.NewParser() fp := gofeed.NewParser()
feed, err := fp.ParseURL(f.FeedLink) feed, err := fp.ParseURL(f.FeedLink)
if err != nil { if err != nil {
log.Print(err) return nil, err
return nil
} }
return convertItems(feed.Items, f) return convertItems(feed.Items, f), nil
} }
func createFeed(s *storage.Storage, url string, folderId *int64) error { func createFeed(s *storage.Storage, url string, folderId *int64) error {
@ -292,7 +290,7 @@ func FeedHandler(rw http.ResponseWriter, req *http.Request) {
} }
body := make(map[string]interface{}) body := make(map[string]interface{})
if err := json.NewDecoder(req.Body).Decode(&body); err != nil { if err := json.NewDecoder(req.Body).Decode(&body); err != nil {
log.Print(err) handler(req).log.Print(err)
rw.WriteHeader(http.StatusBadRequest) rw.WriteHeader(http.StatusBadRequest)
return return
} }
@ -331,7 +329,7 @@ func ItemHandler(rw http.ResponseWriter, req *http.Request) {
} }
var body UpdateItem var body UpdateItem
if err := json.NewDecoder(req.Body).Decode(&body); err != nil { if err := json.NewDecoder(req.Body).Decode(&body); err != nil {
log.Print(err) handler(req).log.Print(err)
rw.WriteHeader(http.StatusBadRequest) rw.WriteHeader(http.StatusBadRequest)
return return
} }
@ -440,7 +438,7 @@ func OPMLImportHandler(rw http.ResponseWriter, req *http.Request) {
if req.Method == "POST" { if req.Method == "POST" {
file, _, err := req.FormFile("opml") file, _, err := req.FormFile("opml")
if err != nil { if err != nil {
log.Print(err) handler(req).log.Print(err)
return return
} }
feeds := new(opml) feeds := new(opml)
@ -449,7 +447,7 @@ func OPMLImportHandler(rw http.ResponseWriter, req *http.Request) {
decoder.Strict = false decoder.Strict = false
err = decoder.Decode(&feeds) err = decoder.Decode(&feeds)
if err != nil { if err != nil {
log.Print(err) handler(req).log.Print(err)
return return
} }
for _, outline := range feeds.Outlines { for _, outline := range feeds.Outlines {

View File

@ -64,9 +64,13 @@ func (h *Handler) startJobs() {
for { for {
select { select {
case feed := <-h.feedQueue: case feed := <-h.feedQueue:
items := listItems(feed) items, err := listItems(feed)
h.db.CreateItems(items)
atomic.AddInt32(h.queueSize, -1) atomic.AddInt32(h.queueSize, -1)
if err != nil {
h.log.Printf("Failed to fetch %s (%d): %s", feed.FeedLink, feed.Id, err)
continue
}
h.db.CreateItems(items)
syncSearch() syncSearch()
if !feed.HasIcon { if !feed.HasIcon {
icon, err := findFavicon(feed.Link, feed.FeedLink) icon, err := findFavicon(feed.Link, feed.FeedLink)