summaryrefslogtreecommitdiffstats
path: root/toolkit/components/extensions/test/mochitest/redirect_auto.sjs
blob: bf7af2556bfd0143cd48672815ca93407ad7ef09 (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
/* Any copyright is dedicated to the Public Domain.
 * http://creativecommons.org/publicdomain/zero/1.0/
 */
"use strict";
Cu.importGlobalProperties(["URLSearchParams", "URL"]);

function handleRequest(request, response) {
  let params = new URLSearchParams(request.queryString);
  if (params.has("no_redirect")) {
    response.setStatusLine(request.httpVersion, 200, "OK");
    response.write("ok");
  } else {
    if (request.method == "POST") {
      response.setStatusLine(request.httpVersion, 303, "Redirected");
    } else {
      response.setStatusLine(request.httpVersion, 302, "Moved Temporarily");
    }
    let url = new URL(
      params.get("redirect_uri") || params.get("default_redirect")
    );
    url.searchParams.set("access_token", "here ya go");
    response.setHeader("Location", url.href);
  }
}