From 1a00f70e62f4cde37682354d3e666ec35fe2bdfe Mon Sep 17 00:00:00 2001 From: Ashay Date: Tue, 7 Jul 2026 17:02:59 +0530 Subject: [PATCH] Fix crash when User-Agent header is missing The download_link endpoint called .lower() on the User-Agent header value without providing a default, causing AttributeError when the header is absent. This matches the safe pattern already used in render_template.py --- cps/web.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cps/web.py b/cps/web.py index fc5288591..9e465796e 100644 --- a/cps/web.py +++ b/cps/web.py @@ -1247,9 +1247,9 @@ def serve_book(book_id, book_format, anyname): @login_required_if_no_ano @download_required def download_link(book_id, book_format, anyname): - if "kindle" in request.headers.get('User-Agent').lower(): + if "kindle" in request.headers.get('User-Agent', "").lower(): client = "kindle" - elif "Kobo" in request.headers.get('User-Agent').lower(): + elif "Kobo" in request.headers.get('User-Agent', "").lower(): client = "kobo" else: client = ""