summaryrefslogtreecommitdiffstats
path: root/dom/browser-element/mochitest/file_bug741717.sjs
blob: bde9ddfaed49041656a885f6f56afd629e4c3571 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
function handleRequest(request, response)
{
  function etag(count) {
    return '"anetag' + count + '"';
  }

  var count = parseInt(getState('count'));
  if (!count)
    count = 0;

  // reload(false) will make a request with If-None-Match headers
  var ifNoneMatch = request.hasHeader("If-None-Match") ?
    request.getHeader("If-None-Match") : "";

  if (ifNoneMatch === etag(count)) {
    response.setStatusLine(request.httpVersion, "304", "Not Modified");
    return;
  }

  count++;
  setState('count', count + '');

  response.setHeader('Content-Type', 'text/html', false);
  response.setHeader('Cache-Control', 'public, max-age=3600', false);
  response.setHeader("ETag", etag(count), false);
  response.write('<html><body>' + count + '</body></html>');
}