michael@0: michael@0: function handleRequest(request, response) michael@0: { michael@0: // get the Content-Type to serve from the query string michael@0: var contentType = null; michael@0: request.queryString.split('&').forEach( function (val) { michael@0: var [name, value] = val.split('='); michael@0: if (name == "type") { michael@0: contentType = unescape(value); michael@0: } michael@0: }); michael@0: michael@0: // avoid confusing cache behaviors michael@0: response.setHeader("Cache-Control", "no-cache", false); michael@0: michael@0: switch (contentType) { michael@0: case "iframe": michael@0: response.setHeader("Content-Type", "text/html", false); michael@0: response.write("frame content"); michael@0: break; michael@0: michael@0: case "script": michael@0: response.setHeader("Content-Type", "application/javascript", false); michael@0: break; michael@0: michael@0: case "stylesheet": michael@0: response.setHeader("Content-Type", "text/css", false); michael@0: break; michael@0: michael@0: case "object": michael@0: response.setHeader("Content-Type", "application/x-test", false); michael@0: break; michael@0: michael@0: case "xhr": michael@0: response.setHeader("Content-Type", "text/xml", false); michael@0: response.setHeader("Access-Control-Allow-Origin", "https://example.com"); michael@0: response.write(''); michael@0: break; michael@0: michael@0: default: michael@0: response.setHeader("Content-Type", "text/html", false); michael@0: response.write("Hello World"); michael@0: break; michael@0: } michael@0: }