TAOImage.py (1987B)
1 import os 2 3 from wptserve.utils import isomorphic_encode 4 5 def main(request, response): 6 origin = request.GET.first(b'origin') 7 if origin: 8 response.headers.set(b'Access-Control-Allow-Origin', origin) 9 10 tao = request.GET.first(b'tao') 11 12 if tao == b'wildcard': 13 # wildcard, pass 14 response.headers.set(b'Timing-Allow-Origin', b'*') 15 elif tao == b'null': 16 # null, fail 17 response.headers.set(b'Timing-Allow-Origin', b'null') 18 elif tao == b'origin': 19 # case-sensitive match for origin, pass 20 response.headers.set(b'Timing-Allow-Origin', origin) 21 elif tao == b'space': 22 # space separated list of origin and wildcard, fail 23 response.headers.set(b'Timing-Allow-Origin', (origin + b' *')) 24 elif tao == b'multi': 25 # more than one TAO values, separated by comma, pass 26 response.headers.set(b'Timing-Allow-Origin', origin) 27 response.headers.append(b'Timing-Allow-Origin', b'*') 28 elif tao == b'multi_wildcard': 29 # multiple wildcards, separated by comma, pass 30 response.headers.set(b'Timing-Allow-Origin', b'*') 31 response.headers.append(b'Timing-Allow-Origin', b'*') 32 elif tao == b'match_origin': 33 # contains a match of origin, separated by comma, pass 34 response.headers.set(b'Timing-Allow-Origin', origin) 35 response.headers.append(b'Timing-Allow-Origin', b"fake") 36 elif tao == b'match_wildcard': 37 # contains a wildcard, separated by comma, pass 38 response.headers.set(b'Timing-Allow-Origin', b"fake") 39 response.headers.append(b'Timing-Allow-Origin', b'*') 40 elif tao == b'uppercase': 41 # non-case-sensitive match for origin, fail 42 response.headers.set(b'Timing-Allow-Origin', origin.upper()) 43 else: 44 pass 45 response.headers.set(b"Cache-Control", b"no-cache, must-revalidate"); 46 image_path = os.path.join(os.path.dirname(isomorphic_encode(__file__)), b"square100.png"); 47 response.content = open(image_path, mode=u'rb').read();