aboutsummaryrefslogtreecommitdiffhomepage
path: root/reader
diff options
context:
space:
mode:
authorGravatar Frédéric Guillot <fred@miniflux.net>2018-06-19 22:58:29 -0700
committerGravatar Frédéric Guillot <fred@miniflux.net>2018-06-19 22:58:29 -0700
commitbddca15b69692bd055c507f2469e68dca1e56098 (patch)
tree913989e170cc3ac46558c682f8ec10813a0ae3c5 /reader
parent261695c14c2d768f392cfb774e7940660edaa3d9 (diff)
Add new fields for feed username/password
Diffstat (limited to 'reader')
-rw-r--r--reader/feed/handler.go6
-rw-r--r--reader/subscription/finder.go3
2 files changed, 7 insertions, 2 deletions
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 {