michael@0: var manifest = michael@0: "CACHE MANIFEST\n" + michael@0: "obsolete.html\n"; michael@0: michael@0: function handleRequest(request, response) michael@0: { michael@0: var match = request.queryString.match(/^state=(.*)$/); michael@0: if (match) michael@0: { michael@0: response.setStatusLine(request.httpVersion, 204, "No content"); michael@0: response.setHeader("Cache-Control", "no-cache"); michael@0: setState("offline.obsoletingManifest", match[1]); michael@0: } michael@0: michael@0: if (request.queryString == "") michael@0: { michael@0: switch (getState("offline.obsoletingManifest")) michael@0: { michael@0: case "": // The default value michael@0: response.setStatusLine(request.httpVersion, 404, "Not found"); michael@0: response.setHeader("Cache-Control", "no-cache"); michael@0: break; michael@0: case "manifestPresent": michael@0: response.setStatusLine(request.httpVersion, 200, "Ok"); michael@0: response.setHeader("Content-Type", "text/cache-manifest"); michael@0: response.setHeader("Cache-Control", "no-cache"); michael@0: response.write(manifest); michael@0: break; michael@0: } michael@0: } michael@0: }