From 8e16789ac63372dd17c51126f287d5f1472f0ab6 Mon Sep 17 00:00:00 2001 From: Dhruv Bhanushali Date: Fri, 8 Apr 2022 11:07:18 +0400 Subject: [PATCH] Prevent jpg/png conversion --- api/catalog/api/views/media_views.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/api/catalog/api/views/media_views.py b/api/catalog/api/views/media_views.py index 40377d9aa..55ecc3de0 100644 --- a/api/catalog/api/views/media_views.py +++ b/api/catalog/api/views/media_views.py @@ -197,21 +197,27 @@ def _get_proxied_image( info_res, *_ = MediaViewSet._thumbnail_proxy_comm("info", {"url": image_url}) info = json.loads(info_res.read()) - path = "resize" params = { "url": image_url, "width": info["width"] if is_full_size else settings.THUMBNAIL_WIDTH_PX, } + if is_compressed: params |= { "quality": settings.THUMBNAIL_JPG_QUALITY, "compression": settings.THUMBNAIL_PNG_COMPRESSION, - "type": "auto", # uses ``Accept`` header to determine output type } else: - params |= {"quality": 100, "compression": 0} + params |= { + "quality": 100, + "compression": 0, + } + + if "webp" in accept_header: + params["type"] = "auto" # Use ``Accept`` header to determine output type. + img_res, res_status, content_type = MediaViewSet._thumbnail_proxy_comm( - path, params, [("Accept", accept_header)] + "resize", params, [("Accept", accept_header)] ) response = HttpResponse( img_res.read(), status=res_status, content_type=content_type