tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

account_picture.py (843B)


      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_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_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=3600")
     21  # Return minimum valid PNG
     22  png_response = decodebytes(b'iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAAAAAA6fptVAAAACklEQVR4nGNiAAAABgADNjd8qAAAAABJRU5ErkJggg==')
     23  return png_response