diff options
Diffstat (limited to 'internal/googlereader/handler.go')
-rw-r--r-- | internal/googlereader/handler.go | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/internal/googlereader/handler.go b/internal/googlereader/handler.go index 242cf55c..e072c621 100644 --- a/internal/googlereader/handler.go +++ b/internal/googlereader/handler.go @@ -20,6 +20,7 @@ import ( "miniflux.app/v2/internal/integration" "miniflux.app/v2/internal/model" "miniflux.app/v2/internal/proxy" + "miniflux.app/v2/internal/reader/fetcher" mff "miniflux.app/v2/internal/reader/handler" mfs "miniflux.app/v2/internal/reader/subscription" "miniflux.app/v2/internal/storage" @@ -667,13 +668,22 @@ func (h *handler) quickAddHandler(w http.ResponseWriter, r *http.Request) { return } - url := r.Form.Get(ParamQuickAdd) - if !validator.IsValidURL(url) { - json.BadRequest(w, r, fmt.Errorf("googlereader: invalid URL: %s", url)) + feedURL := r.Form.Get(ParamQuickAdd) + if !validator.IsValidURL(feedURL) { + json.BadRequest(w, r, fmt.Errorf("googlereader: invalid URL: %s", feedURL)) return } - subscriptions, localizedError := mfs.FindSubscriptions(url, "", "", "", "", false, false, "") + requestBuilder := fetcher.NewRequestBuilder() + requestBuilder.WithTimeout(config.Opts.HTTPClientTimeout()) + requestBuilder.WithProxy(config.Opts.HTTPClientProxy()) + + var rssBridgeURL string + if intg, err := h.store.Integration(userID); err == nil && intg != nil && intg.RSSBridgeEnabled { + rssBridgeURL = intg.RSSBridgeURL + } + + subscriptions, localizedError := mfs.NewSubscriptionFinder(requestBuilder).FindSubscriptions(feedURL, rssBridgeURL) if localizedError != nil { json.ServerError(w, r, localizedError.Error()) return |