image.py (992B)
1 import os.path 2 3 from wptserve.utils import isomorphic_decode 4 5 def main(request, response): 6 7 key = request.GET[b'id'] 8 alreadyServedRequest = False 9 try: 10 alreadyServedRequest = request.server.stash.take(key) 11 except (KeyError, ValueError) as e: 12 pass 13 14 if alreadyServedRequest: 15 body = open(os.path.join(os.path.dirname(isomorphic_decode(__file__)), u"../../../../images/red.png"), u"rb").read() 16 else: 17 request.server.stash.put(key, True); 18 body = open(os.path.join(os.path.dirname(isomorphic_decode(__file__)), u"../../../../images/green.png"), u"rb").read() 19 pass 20 21 response.writer.write_status(200) 22 response.writer.write_header(b"etag", b"abcdef") 23 response.writer.write_header(b"content-length", len(body)) 24 response.writer.write_header(b"content-type", b"image/png") 25 response.writer.write_header(b"cache-control", b"public, max-age=31536000, no-cache") 26 response.writer.end_headers() 27 28 response.writer.write(body)