|
1 function handleRequest(request, response) |
|
2 { |
|
3 if (request.queryString == "") |
|
4 { |
|
5 var etag = request.hasHeader("If-Match") ? request.getHeader("If-Match") : null; |
|
6 if (!etag || etag == getState("etag")) |
|
7 { |
|
8 response.setStatusLine(request.httpVersion, 200, "Ok"); |
|
9 response.setHeader("Content-Type", "text/html"); |
|
10 response.setHeader("ETag", getState("etag")); |
|
11 response.setHeader("Cache-control", "max-age=36000"); |
|
12 response.write(getState("etag")); |
|
13 } |
|
14 else if (etag) |
|
15 { |
|
16 response.setStatusLine(request.httpVersion, 412, "Precondition Failed"); |
|
17 } |
|
18 } |
|
19 else |
|
20 { |
|
21 var etag = request.queryString.match(/^etag=(.*)$/); |
|
22 if (etag) |
|
23 setState("etag", etag[1]); |
|
24 |
|
25 response.setStatusLine(request.httpVersion, 204, "No content"); |
|
26 } |
|
27 } |