From 01d80220bc56ee756b61fe2ea248d27606b9a495 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Laura=20Kl=C3=BCnder?= Date: Tue, 21 Nov 2017 16:05:42 +0100 Subject: [PATCH] use binascii.b2a_base64 instead of base64.b64encode because its faster --- src/c3nav/mapdata/utils/tiles.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/c3nav/mapdata/utils/tiles.py b/src/c3nav/mapdata/utils/tiles.py index 07310ad9..aabe7ac8 100644 --- a/src/c3nav/mapdata/utils/tiles.py +++ b/src/c3nav/mapdata/utils/tiles.py @@ -1,4 +1,5 @@ import base64 +import binascii import hashlib import hmac import time @@ -49,6 +50,6 @@ def build_access_cache_key(access_permissions: set): def build_tile_etag(level_id, zoom, x, y, base_cache_key, access_cache_key, tile_secret): # we want a short etag so HTTP 304 responses are tiny - return '"' + base64.b64encode(hashlib.sha256( + return '"' + binascii.b2a_base64(hashlib.sha256( ('%d-%d-%d-%d:%s:%s:%s' % (level_id, zoom, x, y, base_cache_key, access_cache_key, tile_secret[:26])).encode() - ).digest()).decode()[:16] + '"' + ).digest(), newline=False).decode()[:16] + '"'