summaryrefslogtreecommitdiffstats
path: root/dom/xhr/tests/file_XHR_anon.sjs
blob: 8440e9f0c2dadf831059647d70174778b758b415 (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));
}