aboutsummaryrefslogtreecommitdiffhomepage
path: root/ui
diff options
context:
space:
mode:
authorGravatar Patrick <pmarschik@users.noreply.github.com>2018-09-20 03:19:24 +0200
committerGravatar Frédéric Guillot <fred@miniflux.net>2018-09-19 18:19:24 -0700
commit2538eea1776e1d03d33465ad2001512caca93937 (patch)
tree021c417d5f31606fe50d7945872c4cda6cdc2060 /ui
parent1d335390c2ac7c0feeb94fce89eefdae9a1e7c17 (diff)
Add the possibility to override default user agent for each feed
Diffstat (limited to 'ui')
-rw-r--r--ui/entry_scraper.go2
-rw-r--r--ui/feed_edit.go3
-rw-r--r--ui/feed_update.go2
-rw-r--r--ui/form/feed.go3
-rw-r--r--ui/form/subscription.go2
-rw-r--r--ui/subscription_add.go2
-rw-r--r--ui/subscription_bookmarklet.go2
-rw-r--r--ui/subscription_choose.go3
-rw-r--r--ui/subscription_submit.go4
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,
)