File 213-http-header-config.patch of Package rss2email

---
 r2e.1               |    2 ++
 rss2email/config.py |    2 ++
 rss2email/feed.py   |   10 ++++++++++
 3 files changed, 14 insertions(+)

Index: rss2email-3.14/r2e.1
===================================================================
--- rss2email-3.14.orig/r2e.1	2022-08-26 16:54:21.000000000 +0200
+++ rss2email-3.14/r2e.1	2025-06-30 12:08:04.486413554 +0200
@@ -185,6 +185,8 @@
 Set an HTTP proxy (e.g. 'http://your.proxy.here:8080/')
 .IP feed-timeout
 Set the timeout (in seconds) for feed server response
+.IP http-header
+Set custom HTTP headers to be sent with the feed requests
 .RE
 .SS Processing
 .IP active
Index: rss2email-3.14/rss2email/config.py
===================================================================
--- rss2email-3.14.orig/rss2email/config.py	2022-08-26 16:54:21.000000000 +0200
+++ rss2email-3.14/rss2email/config.py	2025-06-30 12:07:53.560474799 +0200
@@ -113,6 +113,8 @@
         ('feed-timeout', str(60)),
         # Set the time (in seconds) to sleep between fetches from the same server
         ('same-server-fetch-interval', str(0)),
+        # Custom HTTP headers (newline separated)
+        ('http-header', ''),
 
         ### Processing
         # True: Fetch, process, and email feeds.
Index: rss2email-3.14/rss2email/feed.py
===================================================================
--- rss2email-3.14.orig/rss2email/feed.py	2022-08-26 16:54:21.000000000 +0200
+++ rss2email-3.14/rss2email/feed.py	2025-06-30 12:07:53.560872827 +0200
@@ -384,6 +384,16 @@
             kwargs['handlers'] = [
                 _urllib_request.ProxyHandler({ 'http': proxy, 'https': proxy })
             ]
+        extra_headers = {}
+        custom_headers = config['http-header']
+        if custom_headers:
+            for header in custom_headers.splitlines():
+                if ':' in header:
+                    key,value = header.split(':', 1)
+                    extra_headers[key.strip()] = value.strip()
+                else:
+                    _LOG.warning('malformed http-header: {}'.format(header))
+        kwargs['request_headers'] = extra_headers
         f = _util.TimeLimitedFunction('feed {}'.format(self.name), timeout, _feedparser.parse)
         return f(self.url, self.etag, modified=self.modified, agent=self.user_agent, **kwargs)
 
openSUSE Build Service is sponsored by