diff options
Diffstat (limited to 'dom/browser-element/mochitest/file_bug741717.sjs')
-rw-r--r-- | dom/browser-element/mochitest/file_bug741717.sjs | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/dom/browser-element/mochitest/file_bug741717.sjs b/dom/browser-element/mochitest/file_bug741717.sjs new file mode 100644 index 000000000..bde9ddfae --- /dev/null +++ b/dom/browser-element/mochitest/file_bug741717.sjs @@ -0,0 +1,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>'); +} |