summaryrefslogtreecommitdiffstats
path: root/dom/xhr/tests/file_XHR_anon.sjs
blob: 755c4cdf3e216f6a5bbeb58dcc641c193c6411c7 (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
function handleRequest(request, response) {
  let invalidHeaders = ["Cookie"];
  let headers = {};

  if (request.queryString == "expectAuth=true") {
    if (request.hasHeader("Authorization")) {
      headers["authorization"] = request.getHeader("Authorization");
    } else {
      response.setStatusLine(null, 401, "Authentication required");
      response.setHeader("WWW-Authenticate", "basic realm=\"testrealm\"", true);
    }
  } else {
    invalidHeaders.push("Authorization");
  }

  for (let header of invalidHeaders) {
    if (request.hasHeader(header)) {
      response.setStatusLine(null, 500, "Server Error");
      headers[header.toLowerCase()] = request.getHeader(header);
    }
  }

  response.write(JSON.stringify(headers));
}