From 18c355d85fe00cc9b5807b7aa28c031185c6f312 Mon Sep 17 00:00:00 2001 From: Jon Date: Mon, 9 Jun 2025 11:10:18 +0100 Subject: [PATCH] fix(RSS Read Node): Fix issue where some feeds fail to load (#16001) --- .../nodes/RssFeedRead/RssFeedRead.node.ts | 15 +++- .../RssFeedRead/test/node/RssFeedRead.test.ts | 3 + .../RssFeedRead/test/node/workflow.rss.json | 80 ++++++++++++++++--- 3 files changed, 85 insertions(+), 13 deletions(-) diff --git a/packages/nodes-base/nodes/RssFeedRead/RssFeedRead.node.ts b/packages/nodes-base/nodes/RssFeedRead/RssFeedRead.node.ts index 3b70b5f64b..de99207da8 100644 --- a/packages/nodes-base/nodes/RssFeedRead/RssFeedRead.node.ts +++ b/packages/nodes-base/nodes/RssFeedRead/RssFeedRead.node.ts @@ -29,7 +29,7 @@ export class RssFeedRead implements INodeType { icon: 'fa:rss', iconColor: 'orange-red', group: ['input'], - version: [1, 1.1], + version: [1, 1.1, 1.2], description: 'Reads data from an RSS Feed', defaults: { name: 'RSS Read', @@ -98,11 +98,20 @@ export class RssFeedRead implements INodeType { }); } - const parser = new Parser({ + const parserOptions: IDataObject = { requestOptions: { rejectUnauthorized: !ignoreSSL, }, - }); + }; + + if (nodeVersion >= 1.2) { + parserOptions.headers = { + Accept: + 'application/rss+xml, application/rdf+xml;q=0.8, application/atom+xml;q=0.6, application/xml;q=0.4, text/xml;q=0.4', + }; + } + + const parser = new Parser(parserOptions); let feed: Parser.Output; try { diff --git a/packages/nodes-base/nodes/RssFeedRead/test/node/RssFeedRead.test.ts b/packages/nodes-base/nodes/RssFeedRead/test/node/RssFeedRead.test.ts index 08f5b4a9d6..c2ea4f477a 100644 --- a/packages/nodes-base/nodes/RssFeedRead/test/node/RssFeedRead.test.ts +++ b/packages/nodes-base/nodes/RssFeedRead/test/node/RssFeedRead.test.ts @@ -7,6 +7,9 @@ const feed = `