From d4d879cf550e0c1c7e35bf963a89d8faf8d1a209 Mon Sep 17 00:00:00 2001 From: Volker Date: Fri, 26 Dec 2025 23:29:14 +0100 Subject: [PATCH 1/2] version bump 1.1.0 --- VERSION | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/VERSION b/VERSION index ece61c6..1cc5f65 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.0.6 \ No newline at end of file +1.1.0 \ No newline at end of file From d3c8824c4265a9d8834f5a8bff07ce7672af66bd Mon Sep 17 00:00:00 2001 From: Volker Date: Fri, 26 Dec 2025 23:29:31 +0100 Subject: [PATCH 2/2] add support for reverse proxy base path --- VERSION | 2 +- mzb_rss_service/main.py | 22 +++++++++++++++++++++- 2 files changed, 22 insertions(+), 2 deletions(-) diff --git a/VERSION b/VERSION index 1cc5f65..8cfbc90 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.1.0 \ No newline at end of file +1.1.1 \ No newline at end of file diff --git a/mzb_rss_service/main.py b/mzb_rss_service/main.py index b6b1137..3e7c3fa 100644 --- a/mzb_rss_service/main.py +++ b/mzb_rss_service/main.py @@ -55,7 +55,7 @@ for handler in werkzeug_logger.handlers: logger = logging.getLogger(__name__) -logger.info("Starting mzb-rss-service with the following configuration:") +logger.info(f"Starting mzb-rss-service v{config.VERSION} with the following configuration:") logger.info(f" - Log Level: {log_level_str}") logger.info(f" - Log File: {log_file}") logger.info(f" - Feeds File: {config.FEEDS_FILE_PATH}") @@ -69,6 +69,26 @@ logger.info(f" - MusicBrainz Log Level: {mbz_log_level_str}") # init musicbrainz.init_musicbrainz() app = Flask(__name__) + +class ReverseProxied(object): + def __init__(self, app): + self.app = app + + def __call__(self, environ, start_response): + script_name = environ.get('HTTP_X_FORWARDED_PREFIX', '') + if script_name: + logger.debug(f"Redirect prefix: {script_name}") + environ['SCRIPT_NAME'] = script_name + path_info = environ['PATH_INFO'] + if path_info.startswith(script_name): + environ['PATH_INFO'] = path_info[len(script_name):] + else: + logger.debug("No redirect prefix detected") + + return self.app(environ, start_response) + +app.wsgi_app = ReverseProxied(app.wsgi_app) + app.template_folder = 'templates'