diff options
author | Patrick <pmarschik@users.noreply.github.com> | 2018-09-20 03:19:24 +0200 |
---|---|---|
committer | Frédéric Guillot <fred@miniflux.net> | 2018-09-19 18:19:24 -0700 |
commit | 2538eea1776e1d03d33465ad2001512caca93937 (patch) | |
tree | 021c417d5f31606fe50d7945872c4cda6cdc2060 /ui | |
parent | 1d335390c2ac7c0feeb94fce89eefdae9a1e7c17 (diff) |
Add the possibility to override default user agent for each feed
Diffstat (limited to 'ui')
-rw-r--r-- | ui/entry_scraper.go | 2 | ||||
-rw-r--r-- | ui/feed_edit.go | 3 | ||||
-rw-r--r-- | ui/feed_update.go | 2 | ||||
-rw-r--r-- | ui/form/feed.go | 3 | ||||
-rw-r--r-- | ui/form/subscription.go | 2 | ||||
-rw-r--r-- | ui/subscription_add.go | 2 | ||||
-rw-r--r-- | ui/subscription_bookmarklet.go | 2 | ||||
-rw-r--r-- | ui/subscription_choose.go | 3 | ||||
-rw-r--r-- | ui/subscription_submit.go | 4 |
9 files changed, 22 insertions, 1 deletions
diff --git a/ui/entry_scraper.go b/ui/entry_scraper.go index 0082307..b4a290f 100644 --- a/ui/entry_scraper.go +++ b/ui/entry_scraper.go @@ -38,7 +38,7 @@ func (c *Controller) FetchContent(w http.ResponseWriter, r *http.Request) { return } - content, err := scraper.Fetch(entry.URL, entry.Feed.ScraperRules) + content, err := scraper.Fetch(entry.URL, entry.Feed.ScraperRules, entry.Feed.UserAgent) if err != nil { json.ServerError(w, err) return diff --git a/ui/feed_edit.go b/ui/feed_edit.go index c78ca5e..9063d51 100644 --- a/ui/feed_edit.go +++ b/ui/feed_edit.go @@ -7,6 +7,7 @@ package ui // import "miniflux.app/ui" import ( "net/http" + "miniflux.app/http/client" "miniflux.app/http/request" "miniflux.app/http/response/html" "miniflux.app/ui/form" @@ -52,6 +53,7 @@ func (c *Controller) EditFeed(w http.ResponseWriter, r *http.Request) { ScraperRules: feed.ScraperRules, RewriteRules: feed.RewriteRules, Crawler: feed.Crawler, + UserAgent: feed.UserAgent, CategoryID: feed.Category.ID, Username: feed.Username, Password: feed.Password, @@ -66,6 +68,7 @@ func (c *Controller) EditFeed(w http.ResponseWriter, r *http.Request) { view.Set("user", user) view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) view.Set("countErrorFeeds", c.store.CountErrorFeeds(user.ID)) + view.Set("defaultUserAgent", client.DefaultUserAgent) html.OK(w, r, view.Render("edit_feed")) } diff --git a/ui/feed_update.go b/ui/feed_update.go index fc3a9a2..402daa2 100644 --- a/ui/feed_update.go +++ b/ui/feed_update.go @@ -7,6 +7,7 @@ package ui // import "miniflux.app/ui" import ( "net/http" + "miniflux.app/http/client" "miniflux.app/http/request" "miniflux.app/http/response" "miniflux.app/http/response/html" @@ -59,6 +60,7 @@ func (c *Controller) UpdateFeed(w http.ResponseWriter, r *http.Request) { view.Set("user", user) view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) view.Set("countErrorFeeds", c.store.CountErrorFeeds(user.ID)) + view.Set("defaultUserAgent", client.DefaultUserAgent) if err := feedForm.ValidateModification(); err != nil { view.Set("errorMessage", err.Error()) diff --git a/ui/form/feed.go b/ui/form/feed.go index a8a4343..3645664 100644 --- a/ui/form/feed.go +++ b/ui/form/feed.go @@ -20,6 +20,7 @@ type FeedForm struct { ScraperRules string RewriteRules string Crawler bool + UserAgent string CategoryID int64 Username string Password string @@ -42,6 +43,7 @@ func (f FeedForm) Merge(feed *model.Feed) *model.Feed { feed.ScraperRules = f.ScraperRules feed.RewriteRules = f.RewriteRules feed.Crawler = f.Crawler + feed.UserAgent = f.UserAgent feed.ParsingErrorCount = 0 feed.ParsingErrorMsg = "" feed.Username = f.Username @@ -61,6 +63,7 @@ func NewFeedForm(r *http.Request) *FeedForm { SiteURL: r.FormValue("site_url"), Title: r.FormValue("title"), ScraperRules: r.FormValue("scraper_rules"), + UserAgent: r.FormValue("user_agent"), RewriteRules: r.FormValue("rewrite_rules"), Crawler: r.FormValue("crawler") == "1", CategoryID: int64(categoryID), diff --git a/ui/form/subscription.go b/ui/form/subscription.go index a1a73b9..9bb14fd 100644 --- a/ui/form/subscription.go +++ b/ui/form/subscription.go @@ -16,6 +16,7 @@ type SubscriptionForm struct { URL string CategoryID int64 Crawler bool + UserAgent string Username string Password string } @@ -40,6 +41,7 @@ func NewSubscriptionForm(r *http.Request) *SubscriptionForm { URL: r.FormValue("url"), Crawler: r.FormValue("crawler") == "1", CategoryID: int64(categoryID), + UserAgent: r.FormValue("user_agent"), Username: r.FormValue("feed_username"), Password: r.FormValue("feed_password"), } diff --git a/ui/subscription_add.go b/ui/subscription_add.go index 1639d0d..387f340 100644 --- a/ui/subscription_add.go +++ b/ui/subscription_add.go @@ -7,6 +7,7 @@ package ui // import "miniflux.app/ui" import ( "net/http" + "miniflux.app/http/client" "miniflux.app/http/response/html" "miniflux.app/http/request" "miniflux.app/ui/session" @@ -35,6 +36,7 @@ func (c *Controller) AddSubscription(w http.ResponseWriter, r *http.Request) { view.Set("user", user) view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) view.Set("countErrorFeeds", c.store.CountErrorFeeds(user.ID)) + view.Set("defaultUserAgent", client.DefaultUserAgent) html.OK(w, r, view.Render("add_subscription")) } diff --git a/ui/subscription_bookmarklet.go b/ui/subscription_bookmarklet.go index dd0d11f..3aa1392 100644 --- a/ui/subscription_bookmarklet.go +++ b/ui/subscription_bookmarklet.go @@ -7,6 +7,7 @@ package ui // import "miniflux.app/ui" import ( "net/http" + "miniflux.app/http/client" "miniflux.app/http/request" "miniflux.app/http/response/html" "miniflux.app/ui/form" @@ -39,6 +40,7 @@ func (c *Controller) Bookmarklet(w http.ResponseWriter, r *http.Request) { view.Set("user", user) view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) view.Set("countErrorFeeds", c.store.CountErrorFeeds(user.ID)) + view.Set("defaultUserAgent", client.DefaultUserAgent) html.OK(w, r, view.Render("add_subscription")) } diff --git a/ui/subscription_choose.go b/ui/subscription_choose.go index f1cdfcb..10e46ad 100644 --- a/ui/subscription_choose.go +++ b/ui/subscription_choose.go @@ -7,6 +7,7 @@ package ui // import "miniflux.app/ui" import ( "net/http" + "miniflux.app/http/client" "miniflux.app/http/response" "miniflux.app/http/response/html" "miniflux.app/http/request" @@ -38,6 +39,7 @@ func (c *Controller) ChooseSubscription(w http.ResponseWriter, r *http.Request) view.Set("user", user) view.Set("countUnread", c.store.CountUnreadEntries(user.ID)) view.Set("countErrorFeeds", c.store.CountErrorFeeds(user.ID)) + view.Set("defaultUserAgent", client.DefaultUserAgent) subscriptionForm := form.NewSubscriptionForm(r) if err := subscriptionForm.Validate(); err != nil { @@ -52,6 +54,7 @@ func (c *Controller) ChooseSubscription(w http.ResponseWriter, r *http.Request) subscriptionForm.CategoryID, subscriptionForm.URL, subscriptionForm.Crawler, + subscriptionForm.UserAgent, subscriptionForm.Username, subscriptionForm.Password, ) diff --git a/ui/subscription_submit.go b/ui/subscription_submit.go index c6e8a95..c2c1298 100644 --- a/ui/subscription_submit.go +++ b/ui/subscription_submit.go @@ -7,6 +7,7 @@ package ui // import "miniflux.app/ui" import ( "net/http" + "miniflux.app/http/client" "miniflux.app/http/response" "miniflux.app/http/response/html" "miniflux.app/http/request" @@ -40,6 +41,7 @@ func (c *Controller) SubmitSubscription(w http.ResponseWriter, r *http.Request) v.Set("user", user) v.Set("countUnread", c.store.CountUnreadEntries(user.ID)) v.Set("countErrorFeeds", c.store.CountErrorFeeds(user.ID)) + v.Set("defaultUserAgent", client.DefaultUserAgent) subscriptionForm := form.NewSubscriptionForm(r) if err := subscriptionForm.Validate(); err != nil { @@ -51,6 +53,7 @@ func (c *Controller) SubmitSubscription(w http.ResponseWriter, r *http.Request) subscriptions, err := subscription.FindSubscriptions( subscriptionForm.URL, + subscriptionForm.UserAgent, subscriptionForm.Username, subscriptionForm.Password, ) @@ -76,6 +79,7 @@ func (c *Controller) SubmitSubscription(w http.ResponseWriter, r *http.Request) subscriptionForm.CategoryID, subscriptions[0].URL, subscriptionForm.Crawler, + subscriptionForm.UserAgent, subscriptionForm.Username, subscriptionForm.Password, ) |