account_picture_uncached.py (858B)
1 import importlib 2 from base64 import decodebytes 3 keys = importlib.import_module("fedcm.support.keys") 4 error_checker = importlib.import_module("fedcm.support.request-params-check") 5 6 def main(request, response): 7 request_error = error_checker.pictureCheck(request) 8 if request_error: 9 return request_error 10 11 counter = request.server.stash.take(keys.ACCOUNT_PICTURE_UNCACHED_COUNTER_KEY) 12 try: 13 counter = int(counter) + 1 14 except (TypeError, ValueError): 15 counter = 1 16 17 request.server.stash.put(keys.ACCOUNT_PICTURE_UNCACHED_COUNTER_KEY, str(counter).encode()) 18 19 response.headers.set(b"Content-Type", b"image/png") 20 response.headers.set(b"Cache-Control", b"max-age=0") 21 # Return minimum valid PNG 22 png_response = decodebytes(b'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAAAAAA6fptVAAAACklEQVR4nGNiAAAABgADNjd8qAAAAABJRU5ErkJggg==') 23 return png_response