summaryrefslogtreecommitdiffstats
path: root/browser/base/content/test/general/fxa_profile_handler.sjs
blob: 7160b76d0b2d27d3932e63559c57a0ee5f4f365d (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
28
29
30
31
32
33
34
/* Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/publicdomain/zero/1.0/ */

// This is basically an echo server!
// We just grab responseStatus and responseBody query params!

function reallyHandleRequest(request, response) {
  var query = "?" + request.queryString;

  var responseStatus = 200;
  var match = /responseStatus=([^&]*)/.exec(query);
  if (match) {
    responseStatus = parseInt(match[1]);
  }

  var responseBody = "";
  match = /responseBody=([^&]*)/.exec(query);
  if (match) {
    responseBody = decodeURIComponent(match[1]);
  }

  response.setStatusLine("1.0", responseStatus, "OK");
  response.write(responseBody);
}

function handleRequest(request, response)
{
  try {
    reallyHandleRequest(request, response);
  } catch (e) {
    response.setStatusLine("1.0", 500, "NotOK");
    response.write("Error handling request: " + e);
  }
}