From 3efbd7f5dfd9a262ae27424d584f8968e9692108 Mon Sep 17 00:00:00 2001 From: Pierre-Yves Chibon Date: Aug 21 2018 14:59:38 +0000 Subject: Ensure headers are string in both py2 and py3 Fixes accessing a raw file using py2. Signed-off-by: Pierre-Yves Chibon --- diff --git a/pagure/lib/mimetype.py b/pagure/lib/mimetype.py index bd270bc..4798a75 100644 --- a/pagure/lib/mimetype.py +++ b/pagure/lib/mimetype.py @@ -58,11 +58,11 @@ def get_type_headers(filename, data): mimetype, encoding = guess_type(filename, data) if not mimetype: return None - headers = {'X-Content-Type-Options': 'nosniff'} + headers = {str('X-Content-Type-Options'): 'nosniff'} if 'html' in mimetype or 'javascript' in mimetype or 'svg' in mimetype: mimetype = 'application/octet-stream' - headers['Content-Disposition'] = 'attachment' + headers[str('Content-Disposition')] = 'attachment' if encoding: mimetype += '; charset={encoding}'.format(encoding=encoding) - headers['Content-Type'] = mimetype + headers[str('Content-Type')] = mimetype return headers diff --git a/pagure/ui/repo.py b/pagure/ui/repo.py index 4a6cfd7..325f8ed 100644 --- a/pagure/ui/repo.py +++ b/pagure/ui/repo.py @@ -596,7 +596,7 @@ def view_file(repo, identifier, filename, username=None, namespace=None): output_type = 'tree' if output_type == 'binary': - headers['Content-Disposition'] = 'attachment' + headers[str('Content-Disposition')] = 'attachment' return flask.Response(flask.stream_with_context( stream_template(