From 87ff61574b25e222cd55ffd80d2c7f7b40eacd60 Mon Sep 17 00:00:00 2001 From: Tomas Kopecek Date: Mon, 11 Jan 2021 15:57:43 +0100 Subject: [PATCH] web: return correct content-length Fixes: https://pagure.io/koji/issue/2638 --- www/kojiweb/wsgi_publisher.py | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/www/kojiweb/wsgi_publisher.py b/www/kojiweb/wsgi_publisher.py index 3bc8eb83..8dab9306 100644 --- a/www/kojiweb/wsgi_publisher.py +++ b/www/kojiweb/wsgi_publisher.py @@ -341,12 +341,13 @@ class Dispatcher(object): environ['koji.values'].setdefault('mavenEnabled', False) environ['koji.values'].setdefault('winEnabled', False) result = _genHTML(environ, 'error.chtml') + result = self._tobytes(result) headers = [ ('Allow', 'GET, POST, HEAD'), - ('Content-Length', str(len(result))), + ('Content-Length', str(len(result[0]))), ('Content-Type', 'text/html'), ] - return self._tobytes(result), headers + return result, headers def _tobytes(self, result): if isinstance(result, str): @@ -400,13 +401,15 @@ class Dispatcher(object): # last one wins headers[key] = (name, value) if isinstance(result, str): - headers.setdefault('content-length', ('Content-Length', str(len(result)))) + result = self._tobytes(result) + headers.setdefault('content-length', + ('Content-Length', str(len(result[0])))) headers.setdefault('content-type', ('Content-Type', 'text/html')) headers = list(headers.values()) + extra self.logger.debug("Headers:") self.logger.debug(koji.util.LazyString(pprint.pformat, [headers])) start_response(status, headers) - return self._tobytes(result) + return result def application(self, environ, start_response): """wsgi handler"""