|
|
@@ -95,18 +95,6 @@ func CreateFeedFromSubscriptionDiscovery(store *storage.Storage, userID int64, f
|
|
|
slog.String("feed_url", subscription.FeedURL),
|
|
|
)
|
|
|
|
|
|
- requestBuilder := fetcher.NewRequestBuilder()
|
|
|
- requestBuilder.WithUsernameAndPassword(feedCreationRequest.Username, feedCreationRequest.Password)
|
|
|
- requestBuilder.WithUserAgent(feedCreationRequest.UserAgent, config.Opts.HTTPClientUserAgent())
|
|
|
- requestBuilder.WithCookie(feedCreationRequest.Cookie)
|
|
|
- requestBuilder.WithTimeout(config.Opts.HTTPClientTimeout())
|
|
|
- requestBuilder.WithProxyRotator(proxyrotator.ProxyRotatorInstance)
|
|
|
- requestBuilder.WithCustomFeedProxyURL(feedCreationRequest.ProxyURL)
|
|
|
- requestBuilder.WithCustomApplicationProxyURL(config.Opts.HTTPClientProxyURL())
|
|
|
- requestBuilder.UseCustomApplicationProxyURL(feedCreationRequest.FetchViaProxy)
|
|
|
- requestBuilder.IgnoreTLSErrors(feedCreationRequest.AllowSelfSignedCertificates)
|
|
|
- requestBuilder.DisableHTTP2(feedCreationRequest.DisableHTTP2)
|
|
|
-
|
|
|
icon.NewIconChecker(store, subscription).UpdateOrCreateFeedIcon()
|
|
|
|
|
|
return subscription, nil
|
|
|
@@ -124,17 +112,17 @@ func CreateFeed(store *storage.Storage, userID int64, feedCreationRequest *model
|
|
|
return nil, locale.NewLocalizedErrorWrapper(ErrCategoryNotFound, "error.category_not_found")
|
|
|
}
|
|
|
|
|
|
- requestBuilder := fetcher.NewRequestBuilder()
|
|
|
- requestBuilder.WithUsernameAndPassword(feedCreationRequest.Username, feedCreationRequest.Password)
|
|
|
- requestBuilder.WithUserAgent(feedCreationRequest.UserAgent, config.Opts.HTTPClientUserAgent())
|
|
|
- requestBuilder.WithCookie(feedCreationRequest.Cookie)
|
|
|
- requestBuilder.WithTimeout(config.Opts.HTTPClientTimeout())
|
|
|
- requestBuilder.WithProxyRotator(proxyrotator.ProxyRotatorInstance)
|
|
|
- requestBuilder.WithCustomFeedProxyURL(feedCreationRequest.ProxyURL)
|
|
|
- requestBuilder.WithCustomApplicationProxyURL(config.Opts.HTTPClientProxyURL())
|
|
|
- requestBuilder.UseCustomApplicationProxyURL(feedCreationRequest.FetchViaProxy)
|
|
|
- requestBuilder.IgnoreTLSErrors(feedCreationRequest.AllowSelfSignedCertificates)
|
|
|
- requestBuilder.DisableHTTP2(feedCreationRequest.DisableHTTP2)
|
|
|
+ requestBuilder := fetcher.NewRequestBuilder().
|
|
|
+ WithUsernameAndPassword(feedCreationRequest.Username, feedCreationRequest.Password).
|
|
|
+ WithUserAgent(feedCreationRequest.UserAgent, config.Opts.HTTPClientUserAgent()).
|
|
|
+ WithCookie(feedCreationRequest.Cookie).
|
|
|
+ WithTimeout(config.Opts.HTTPClientTimeout()).
|
|
|
+ WithProxyRotator(proxyrotator.ProxyRotatorInstance).
|
|
|
+ WithCustomFeedProxyURL(feedCreationRequest.ProxyURL).
|
|
|
+ WithCustomApplicationProxyURL(config.Opts.HTTPClientProxyURL()).
|
|
|
+ UseCustomApplicationProxyURL(feedCreationRequest.FetchViaProxy).
|
|
|
+ IgnoreTLSErrors(feedCreationRequest.AllowSelfSignedCertificates).
|
|
|
+ DisableHTTP2(feedCreationRequest.DisableHTTP2)
|
|
|
|
|
|
responseHandler := fetcher.NewResponseHandler(requestBuilder.ExecuteRequest(feedCreationRequest.FeedURL))
|
|
|
defer responseHandler.Close()
|
|
|
@@ -232,22 +220,23 @@ func RefreshFeed(store *storage.Storage, userID, feedID int64, forceRefresh bool
|
|
|
originalFeed.CheckedNow()
|
|
|
originalFeed.ScheduleNextCheck(weeklyEntryCount, time.Duration(0))
|
|
|
|
|
|
- requestBuilder := fetcher.NewRequestBuilder()
|
|
|
- requestBuilder.WithUsernameAndPassword(originalFeed.Username, originalFeed.Password)
|
|
|
- requestBuilder.WithUserAgent(originalFeed.UserAgent, config.Opts.HTTPClientUserAgent())
|
|
|
- requestBuilder.WithCookie(originalFeed.Cookie)
|
|
|
- requestBuilder.WithTimeout(config.Opts.HTTPClientTimeout())
|
|
|
- requestBuilder.WithProxyRotator(proxyrotator.ProxyRotatorInstance)
|
|
|
- requestBuilder.WithCustomFeedProxyURL(originalFeed.ProxyURL)
|
|
|
- requestBuilder.WithCustomApplicationProxyURL(config.Opts.HTTPClientProxyURL())
|
|
|
- requestBuilder.UseCustomApplicationProxyURL(originalFeed.FetchViaProxy)
|
|
|
- requestBuilder.IgnoreTLSErrors(originalFeed.AllowSelfSignedCertificates)
|
|
|
- requestBuilder.DisableHTTP2(originalFeed.DisableHTTP2)
|
|
|
+ requestBuilder := fetcher.NewRequestBuilder().
|
|
|
+ WithUsernameAndPassword(originalFeed.Username, originalFeed.Password).
|
|
|
+ WithUserAgent(originalFeed.UserAgent, config.Opts.HTTPClientUserAgent()).
|
|
|
+ WithCookie(originalFeed.Cookie).
|
|
|
+ WithTimeout(config.Opts.HTTPClientTimeout()).
|
|
|
+ WithProxyRotator(proxyrotator.ProxyRotatorInstance).
|
|
|
+ WithCustomFeedProxyURL(originalFeed.ProxyURL).
|
|
|
+ WithCustomApplicationProxyURL(config.Opts.HTTPClientProxyURL()).
|
|
|
+ UseCustomApplicationProxyURL(originalFeed.FetchViaProxy).
|
|
|
+ IgnoreTLSErrors(originalFeed.AllowSelfSignedCertificates).
|
|
|
+ DisableHTTP2(originalFeed.DisableHTTP2)
|
|
|
|
|
|
ignoreHTTPCache := originalFeed.IgnoreHTTPCache || forceRefresh
|
|
|
if !ignoreHTTPCache {
|
|
|
- requestBuilder.WithETag(originalFeed.EtagHeader)
|
|
|
- requestBuilder.WithLastModified(originalFeed.LastModifiedHeader)
|
|
|
+ requestBuilder = requestBuilder.
|
|
|
+ WithETag(originalFeed.EtagHeader).
|
|
|
+ WithLastModified(originalFeed.LastModifiedHeader)
|
|
|
}
|
|
|
|
|
|
responseHandler := fetcher.NewResponseHandler(requestBuilder.ExecuteRequest(originalFeed.FeedURL))
|