aboutsummaryrefslogtreecommitdiffhomepage
path: root/reader/feed/handler.go
diff options
context:
space:
mode:
Diffstat (limited to 'reader/feed/handler.go')
-rw-r--r--reader/feed/handler.go11
1 files changed, 10 insertions, 1 deletions
diff --git a/reader/feed/handler.go b/reader/feed/handler.go
index 24fdadf..f01b877 100644
--- a/reader/feed/handler.go
+++ b/reader/feed/handler.go
@@ -21,12 +21,13 @@ import (
var (
errRequestFailed = "Unable to execute request: %v"
- errServerFailure = "Unable to fetch feed (statusCode=%d)"
+ errServerFailure = "Unable to fetch feed (Status Code = %d)"
errDuplicate = "This feed already exists (%s)"
errNotFound = "Feed %d not found"
errEncoding = "Unable to normalize encoding: %q"
errCategoryNotFound = "Category not found for this user"
errEmptyFeed = "This feed is empty"
+ errResourceNotFound = "Resource not found (404), this feed doesn't exists anymore, check the feed URL"
)
// Handler contains all the logic to create and refresh feeds.
@@ -152,6 +153,14 @@ func (h *Handler) RefreshFeed(userID, feedID int64) error {
originalFeed.CheckedAt = time.Now()
+ if response.IsNotFound() {
+ err := errors.NewLocalizedError(errResourceNotFound)
+ originalFeed.ParsingErrorCount++
+ originalFeed.ParsingErrorMsg = err.Localize(currentLanguage)
+ h.store.UpdateFeed(originalFeed)
+ return err
+ }
+
if response.HasServerFailure() {
err := errors.NewLocalizedError(errServerFailure, response.StatusCode)
originalFeed.ParsingErrorCount++