Content server: Fix book with non-ASCII filenames not downloading in the Kindle browser when using the /mobile view

Amazon cant even get parsing of Content-Disposition right.
This commit is contained in:
Kovid Goyal 2024-10-10 07:37:26 +05:30
parent 3d37f16ee8
commit 773ddd7a68
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -282,4 +282,9 @@ def stanza(ctx, rd, rest):
def legacy_get(ctx, rd, what, book_id, library_id, filename):
# See https://www.mobileread.com/forums/showthread.php?p=3531644 for why
# this is needed for Kobo browsers
return get(ctx, rd, what, book_id, library_id)
ua = rd.inheaders.get('User-Agent', '')
is_old_kindle = 'Kindle/3' in ua
ans = get(ctx, rd, what, book_id, library_id)
if is_old_kindle: # Content-Disposition causes downloads to fail when the filename has non-ascii chars in it
rd.outheaders.pop('Content-Disposition', '')
return ans