def main(request, response): | |
response.headers.set("Access-Control-Allow-Origin", request.headers.get("origin") ) | |
response.headers.set("Access-Control-Expose-Headers", "X-Request-Method") | |
if request.method == 'OPTIONS': | |
response.headers.set("Access-Control-Allow-Methods", "GET, CHICKEN, HEAD, POST, PUT") | |
if 'headers' in request.GET: | |
response.headers.set("Access-Control-Allow-Headers", request.GET.first('headers')) | |
response.headers.set("X-Request-Method", request.method) | |
response.headers.set("X-A-C-Request-Method", request.headers.get("Access-Control-Request-Method", "")); | |
#This should reasonably work for most response codes. | |
try: | |
code = int(request.GET.first("code", 200)) | |
except ValueError: | |
code = 200 | |
text = request.GET.first("text", "OMG") | |
if request.method == "OPTIONS" and "preflight" in request.GET: | |
try: | |
code = int(request.GET.first('preflight')) | |
except KeyError, ValueError: | |
pass | |
status = code, text | |
if "type" in request.GET: | |
response.headers.set("Content-Type", request.GET.first('type')) | |
body = request.GET.first('content', "") | |
return status, [], body |