From bddca15b69692bd055c507f2469e68dca1e56098 Mon Sep 17 00:00:00 2001 From: Frédéric Guillot Date: Tue, 19 Jun 2018 22:58:29 -0700 Subject: Add new fields for feed username/password --- reader/feed/handler.go | 6 +++++- reader/subscription/finder.go | 3 ++- 2 files changed, 7 insertions(+), 2 deletions(-) (limited to 'reader') diff --git a/reader/feed/handler.go b/reader/feed/handler.go index 4b50820..24fdadf 100644 --- a/reader/feed/handler.go +++ b/reader/feed/handler.go @@ -36,7 +36,7 @@ type Handler struct { } // CreateFeed fetch, parse and store a new feed. -func (h *Handler) CreateFeed(userID, categoryID int64, url string, crawler bool) (*model.Feed, error) { +func (h *Handler) CreateFeed(userID, categoryID int64, url string, crawler bool, username, password string) (*model.Feed, error) { defer timer.ExecutionTime(time.Now(), fmt.Sprintf("[Handler:CreateFeed] feedUrl=%s", url)) if !h.store.CategoryExists(userID, categoryID) { @@ -44,6 +44,7 @@ func (h *Handler) CreateFeed(userID, categoryID int64, url string, crawler bool) } clt := client.New(url) + clt.WithCredentials(username, password) response, err := clt.Get() if err != nil { if _, ok := err.(*errors.LocalizedError); ok { @@ -85,6 +86,8 @@ func (h *Handler) CreateFeed(userID, categoryID int64, url string, crawler bool) subscription.FeedURL = response.EffectiveURL subscription.UserID = userID subscription.Crawler = crawler + subscription.Username = username + subscription.Password = password if subscription.SiteURL == "" { subscription.SiteURL = subscription.FeedURL @@ -130,6 +133,7 @@ func (h *Handler) RefreshFeed(userID, feedID int64) error { } clt := client.New(originalFeed.FeedURL) + clt.WithCredentials(originalFeed.Username, originalFeed.Password) clt.WithCacheHeaders(originalFeed.EtagHeader, originalFeed.LastModifiedHeader) response, err := clt.Get() if err != nil { diff --git a/reader/subscription/finder.go b/reader/subscription/finder.go index e5a27f5..6b45cfb 100644 --- a/reader/subscription/finder.go +++ b/reader/subscription/finder.go @@ -27,10 +27,11 @@ var ( ) // FindSubscriptions downloads and try to find one or more subscriptions from an URL. -func FindSubscriptions(websiteURL string) (Subscriptions, error) { +func FindSubscriptions(websiteURL, username, password string) (Subscriptions, error) { defer timer.ExecutionTime(time.Now(), fmt.Sprintf("[FindSubscriptions] url=%s", websiteURL)) clt := client.New(websiteURL) + clt.WithCredentials(username, password) response, err := clt.Get() if err != nil { if _, ok := err.(errors.LocalizedError); ok { -- cgit v1.2.3