dom/tests/browser/network_geolocation.sjs

branch
TOR_BUG_9701
changeset 15
b8a032363ba2
equal deleted inserted replaced
-1:000000000000 0:456411051621
1 function parseQueryString(str)
2 {
3 if (str == "")
4 return {};
5
6 var paramArray = str.split("&");
7 var regex = /^([^=]+)=(.*)$/;
8 var params = {};
9 for (var i = 0, sz = paramArray.length; i < sz; i++)
10 {
11 var match = regex.exec(paramArray[i]);
12 if (!match)
13 throw "Bad parameter in queryString! '" + paramArray[i] + "'";
14 params[decodeURIComponent(match[1])] = decodeURIComponent(match[2]);
15 }
16
17 return params;
18 }
19
20 function getPosition(expectedAccessToken, providedAccessToken, desiredAccessToken)
21 {
22 var response = {
23 status: "OK",
24 location: {
25 lat: providedAccessToken ?
26 (expectedAccessToken == providedAccessToken ? 200 : 404) : 200,
27 lng: -122.08769,
28 },
29 accuracy: 100,
30 access_token: desiredAccessToken
31 };
32
33 return JSON.stringify(response);
34 }
35
36 function handleRequest(request, response)
37 {
38 var params = parseQueryString(request.queryString);
39
40 response.setStatusLine("1.0", 200, "OK");
41 response.setHeader("Cache-Control", "no-cache", false);
42 response.setHeader("Content-Type", "aplication/x-javascript", false);
43 response.write(getPosition(params.expected_access_token, params.access_token,
44 params.desired_access_token));
45 }

mercurial