summaryrefslogtreecommitdiffstats
path: root/dom/base/test/bug475156.sjs
diff options
context:
space:
mode:
Diffstat (limited to 'dom/base/test/bug475156.sjs')
-rw-r--r--dom/base/test/bug475156.sjs23
1 files changed, 23 insertions, 0 deletions
diff --git a/dom/base/test/bug475156.sjs b/dom/base/test/bug475156.sjs
new file mode 100644
index 0000000000..9c54b69f65
--- /dev/null
+++ b/dom/base/test/bug475156.sjs
@@ -0,0 +1,23 @@
+function handleRequest(request, response) {
+ if (request.queryString == "") {
+ var etag = request.hasHeader("If-Match")
+ ? request.getHeader("If-Match")
+ : null;
+ if (!etag || etag == getState("etag")) {
+ response.setStatusLine(request.httpVersion, 200, "Ok");
+ response.setHeader("Content-Type", "text/html");
+ response.setHeader("ETag", getState("etag"));
+ response.setHeader("Cache-control", "max-age=36000");
+ response.write(getState("etag"));
+ } else if (etag) {
+ response.setStatusLine(request.httpVersion, 412, "Precondition Failed");
+ }
+ } else {
+ var etag = request.queryString.match(/^etag=(.*)$/);
+ if (etag) {
+ setState("etag", etag[1]);
+ }
+
+ response.setStatusLine(request.httpVersion, 204, "No content");
+ }
+}