1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000 1.2 +++ b/dom/tests/browser/network_geolocation.sjs Wed Dec 31 06:09:35 2014 +0100 1.3 @@ -0,0 +1,45 @@ 1.4 +function parseQueryString(str) 1.5 +{ 1.6 + if (str == "") 1.7 + return {}; 1.8 + 1.9 + var paramArray = str.split("&"); 1.10 + var regex = /^([^=]+)=(.*)$/; 1.11 + var params = {}; 1.12 + for (var i = 0, sz = paramArray.length; i < sz; i++) 1.13 + { 1.14 + var match = regex.exec(paramArray[i]); 1.15 + if (!match) 1.16 + throw "Bad parameter in queryString! '" + paramArray[i] + "'"; 1.17 + params[decodeURIComponent(match[1])] = decodeURIComponent(match[2]); 1.18 + } 1.19 + 1.20 + return params; 1.21 +} 1.22 + 1.23 +function getPosition(expectedAccessToken, providedAccessToken, desiredAccessToken) 1.24 +{ 1.25 + var response = { 1.26 + status: "OK", 1.27 + location: { 1.28 + lat: providedAccessToken ? 1.29 + (expectedAccessToken == providedAccessToken ? 200 : 404) : 200, 1.30 + lng: -122.08769, 1.31 + }, 1.32 + accuracy: 100, 1.33 + access_token: desiredAccessToken 1.34 + }; 1.35 + 1.36 + return JSON.stringify(response); 1.37 +} 1.38 + 1.39 +function handleRequest(request, response) 1.40 +{ 1.41 + var params = parseQueryString(request.queryString); 1.42 + 1.43 + response.setStatusLine("1.0", 200, "OK"); 1.44 + response.setHeader("Cache-Control", "no-cache", false); 1.45 + response.setHeader("Content-Type", "aplication/x-javascript", false); 1.46 + response.write(getPosition(params.expected_access_token, params.access_token, 1.47 + params.desired_access_token)); 1.48 +}