From 9c0f882ba0c7f8635ff7ab8007d134f7aefd69f2 Mon Sep 17 00:00:00 2001 From: Frédéric Guillot Date: Sat, 30 Jun 2018 12:42:12 -0700 Subject: Add specific 404 and 401 error messages --- reader/feed/handler.go | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'reader/feed') 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++ -- cgit v1.2.3