1
0
Fork 0
mirror of https://github.com/miniflux/v2.git synced 2025-08-01 17:38:37 +00:00

fix(finder): do not add redirections to the list of subscriptions to avoid confusion

This commit is contained in:
Frédéric Guillot 2025-01-12 17:01:13 -08:00
parent f5fde36d45
commit e9520f5d1c
2 changed files with 19 additions and 1 deletions

View file

@ -89,6 +89,15 @@ func (r *ResponseHandler) IsModified(lastEtagValue, lastModifiedValue string) bo
return true return true
} }
func (r *ResponseHandler) IsRedirect() bool {
return r.httpResponse != nil &&
(r.httpResponse.StatusCode == http.StatusMovedPermanently ||
r.httpResponse.StatusCode == http.StatusFound ||
r.httpResponse.StatusCode == http.StatusSeeOther ||
r.httpResponse.StatusCode == http.StatusTemporaryRedirect ||
r.httpResponse.StatusCode == http.StatusPermanentRedirect)
}
func (r *ResponseHandler) Close() { func (r *ResponseHandler) Close() {
if r.httpResponse != nil && r.httpResponse.Body != nil && r.clientErr == nil { if r.httpResponse != nil && r.httpResponse.Body != nil && r.clientErr == nil {
r.httpResponse.Body.Close() r.httpResponse.Body.Close()

View file

@ -228,8 +228,17 @@ func (f *SubscriptionFinder) FindSubscriptionsFromWellKnownURLs(websiteURL strin
localizedError := responseHandler.LocalizedError() localizedError := responseHandler.LocalizedError()
responseHandler.Close() responseHandler.Close()
// Do not add redirections to the possible list of subscriptions to avoid confusion.
if responseHandler.IsRedirect() {
slog.Debug("Ignore URL redirection during feed discovery", slog.String("fullURL", fullURL))
continue
}
if localizedError != nil { if localizedError != nil {
slog.Debug("Unable to subscribe", slog.String("fullURL", fullURL), slog.Any("error", localizedError.Error())) slog.Debug("Ignore invalid feed URL during feed discovery",
slog.String("fullURL", fullURL),
slog.Any("error", localizedError.Error()),
)
continue continue
} }