Bug 1576768 [eslint] Turn on JavaScript linting and formatting rules for .sjs files. r=Standard8

Differential Revision: https://phabricator.services.mozilla.com/D128483
This commit is contained in:
Evgenia Kotovich 2021-10-25 11:12:41 +00:00
parent ac2ad7e7f2
commit 228e38a58c
63 changed files with 219 additions and 117 deletions

View File

@ -81,6 +81,35 @@ module.exports = {
browser: false,
},
},
{
files: "*.sjs",
rules: {
radix: "warn",
strict: "warn",
"no-var": "warn",
complexity: "warn",
"no-undef": "warn",
"no-empty": "warn",
"no-shadow": "warn",
"valid-jsdoc": "warn",
"no-redeclare": "warn",
"no-unused-vars": "warn",
"no-fallthrough": "warn",
"mozilla/no-aArgs": "warn",
"block-scoped-var": "warn",
"no-control-regex": "warn",
"no-throw-literal": "warn",
"no-useless-concat": "warn",
"consistent-return": "warn",
"mozilla/use-cc-etc": "warn",
"no-use-before-define": "warn",
"mozilla/use-services": "warn",
"mozilla/use-includes-instead-of-indexOf": "warn",
"mozilla/no-compare-against-boolean-literals": "warn",
"mozilla/reject-importGlobalProperties": "warn",
"mozilla/var-only-at-top-level": "warn",
},
},
{
files: [
"*.html",

View File

@ -1,14 +1,16 @@
"use strict";
function handleRequest(request, response) {
var match;
var requestAuth = true;
let match;
let requestAuth = true;
// Allow the caller to drive how authentication is processed via the query.
// Eg, http://localhost:8888/authenticate.sjs?user=foo&realm=bar
// The extra ? allows the user/pass/realm checks to succeed if the name is
// at the beginning of the query string.
var query = "?" + request.queryString;
let query = "?" + request.queryString;
var expected_user = "test",
let expected_user = "test",
expected_pass = "testpass",
realm = "mochitest";
@ -37,19 +39,17 @@ function handleRequest(request, response) {
// This test only supports Basic auth. The value sent by the client is
// "username:password", obscured with base64 encoding.
var actual_user = "",
let actual_user = "",
actual_pass = "",
authHeader,
authPresent = false;
authHeader;
if (request.hasHeader("Authorization")) {
authPresent = true;
authHeader = request.getHeader("Authorization");
match = /Basic (.+)/.exec(authHeader);
if (match.length != 2) {
throw new Error("Couldn't parse auth header: " + authHeader);
}
var userpass = base64ToString(match[1]); // no atob() :-(
/* eslint-disable-next-line no-use-before-define */
let userpass = base64ToString(match[1]); // no atob() :-(
match = /(.*):(.*)/.exec(userpass);
if (match.length != 3) {
throw new Error("Couldn't decode auth header: " + userpass);
@ -104,14 +104,14 @@ const toBinaryTable = [
const base64Pad = "=";
function base64ToString(data) {
var result = "";
var leftbits = 0; // number of bits decoded, but yet to be appended
var leftdata = 0; // bits decoded, but yet to be appended
let result = "";
let leftbits = 0; // number of bits decoded, but yet to be appended
let leftdata = 0; // bits decoded, but yet to be appended
// Convert one by one.
for (var i = 0; i < data.length; i++) {
var c = toBinaryTable[data.charCodeAt(i) & 0x7f];
var padding = data[i] == base64Pad;
for (let i = 0; i < data.length; i++) {
let c = toBinaryTable[data.charCodeAt(i) & 0x7f];
let padding = data[i] == base64Pad;
// Skip illegal characters and whitespace
if (c == -1) {
continue;

View File

@ -9,14 +9,17 @@ function handleRequest(request, response) {
switch (params.get("test")) {
case "cache":
/* eslint-disable-next-line no-use-before-define */
handleCacheTestRequest(request, response);
break;
case "user-agent":
/* eslint-disable-next-line no-use-before-define */
handleUserAgentTestRequest(request, response);
break;
case "injected-script":
/* eslint-disable-next-line no-use-before-define */
handleInjectedScriptTestRequest(request, response, params);
break;
}
@ -97,7 +100,7 @@ function handleInjectedScriptTestRequest(request, response, params) {
response.setHeader("Content-Type", "text/html; charset=UTF-8", false);
let content = "";
const frames = parseInt(params.get("frames"));
const frames = parseInt(params.get("frames"), 10);
if (frames > 0) {
// Output an iframe in seamless mode, so that there is an higher chance that in case
// of test failures we get a screenshot where the nested iframes are all visible.

View File

@ -1,3 +1,5 @@
"use strict";
function handleRequest(request, response) {
// redirect_to.sjs?ctxmenu-image.png
// redirects to : ctxmenu-image.png

View File

@ -1,5 +1,6 @@
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
function handleRequest(req, resp) {
let suffixes = ["foo", "bar"];

View File

@ -1,3 +1,5 @@
"use strict";
function handleRequest(request, response) {
try {
reallyHandleRequest(request, response);
@ -8,26 +10,26 @@ function handleRequest(request, response) {
}
function reallyHandleRequest(request, response) {
var match;
var requestAuth = true,
let match;
let requestAuth = true,
requestProxyAuth = true;
// Allow the caller to drive how authentication is processed via the query.
// Eg, http://localhost:8888/authenticate.sjs?user=foo&realm=bar
// The extra ? allows the user/pass/realm checks to succeed if the name is
// at the beginning of the query string.
var query = "?" + request.queryString;
let query = "?" + request.queryString;
var expected_user = "",
let expected_user = "",
expected_pass = "",
realm = "mochitest";
var proxy_expected_user = "",
let proxy_expected_user = "",
proxy_expected_pass = "",
proxy_realm = "mochi-proxy";
var huge = false,
let huge = false,
plugin = false,
anonymous = false;
var authHeaderCount = 1;
let authHeaderCount = 1;
// user=xxx
match = /[^_]user=([^&]*)/.exec(query);
if (match) {
@ -95,7 +97,7 @@ function reallyHandleRequest(request, response) {
// This test only supports Basic auth. The value sent by the client is
// "username:password", obscured with base64 encoding.
var actual_user = "",
let actual_user = "",
actual_pass = "",
authHeader,
authPresent = false;
@ -107,7 +109,7 @@ function reallyHandleRequest(request, response) {
throw "Couldn't parse auth header: " + authHeader;
}
var userpass = base64ToString(match[1]); // no atob() :-(
let userpass = base64ToString(match[1]); // no atob() :-(
match = /(.*):(.*)/.exec(userpass);
if (match.length != 3) {
throw "Couldn't decode auth header: " + userpass;
@ -116,7 +118,7 @@ function reallyHandleRequest(request, response) {
actual_pass = match[2];
}
var proxy_actual_user = "",
let proxy_actual_user = "",
proxy_actual_pass = "";
if (request.hasHeader("Proxy-Authorization")) {
authHeader = request.getHeader("Proxy-Authorization");
@ -125,7 +127,7 @@ function reallyHandleRequest(request, response) {
throw "Couldn't parse auth header: " + authHeader;
}
var userpass = base64ToString(match[1]); // no atob() :-(
let userpass = base64ToString(match[1]); // no atob() :-(
match = /(.*):(.*)/.exec(userpass);
if (match.length != 3) {
throw "Couldn't decode auth header: " + userpass;
@ -235,14 +237,14 @@ const toBinaryTable = [
const base64Pad = "=";
function base64ToString(data) {
var result = "";
var leftbits = 0; // number of bits decoded, but yet to be appended
var leftdata = 0; // bits decoded, but yet to be appended
let result = "";
let leftbits = 0; // number of bits decoded, but yet to be appended
let leftdata = 0; // bits decoded, but yet to be appended
// Convert one by one.
for (var i = 0; i < data.length; i++) {
var c = toBinaryTable[data.charCodeAt(i) & 0x7f];
var padding = data[i] == base64Pad;
for (let i = 0; i < data.length; i++) {
let c = toBinaryTable[data.charCodeAt(i) & 0x7f];
let padding = data[i] == base64Pad;
// Skip illegal characters and whitespace
if (c == -1) {
continue;

View File

@ -10,16 +10,16 @@ function handleRequest(request, response) {
if (request.method == "GET") {
response.write(request.queryString);
} else {
var body = new BinaryInputStream(request.bodyInputStream);
let body = new BinaryInputStream(request.bodyInputStream);
var avail;
var bytes = [];
let avail;
let bytes = [];
while ((avail = body.available()) > 0) {
Array.prototype.push.apply(bytes, body.readByteArray(avail));
}
var data = String.fromCharCode.apply(null, bytes);
let data = String.fromCharCode.apply(null, bytes);
response.bodyOutputStream.write(data, data.length);
}
}

View File

@ -1,5 +1,6 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
function handleRequest(request, response) {
response.processAsync();

View File

@ -1,5 +1,6 @@
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
const key = "json-viewer-chunked-response";
function setResponse(response) {

View File

@ -1,5 +1,6 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
function handleRequest(request, response) {
response.setStatusLine(request.httpVersion, 304, "Not Modified");

View File

@ -1,5 +1,6 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
function handleRequest(request, response) {
response.setHeader("Set-Cookie", "tom=cool; Max-Age=10; HttpOnly", true);

View File

@ -1,6 +1,9 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
/* eslint-disable-next-line mozilla/reject-importGlobalProperties */
Cu.importGlobalProperties(["TextEncoder"]);
function gzipCompressString(string, obs) {
@ -97,7 +100,9 @@ function handleRequest(request, response) {
}
let timer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer);
timer.initWithCallback(
// eslint-disable-next-line complexity
() => {
// to avoid garbage collection
timer = null;
@ -316,11 +321,12 @@ function handleRequest(request, response) {
response.setHeader("Content-Type", "text/plain", false);
response.setHeader("Content-Encoding", "gzip\t ,gzip", false);
setCacheHeaders();
const observer = {
onStreamComplete: function(
loader,
context,
status,
statusl,
length,
result
) {

View File

@ -1,5 +1,6 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
function handleRequest(request, response) {
response.setStatusLine(request.httpVersion, 200, "Och Aye");

View File

@ -1,5 +1,6 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
function handleRequest(request, response) {
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");

View File

@ -1,5 +1,6 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
function handleRequest(request, response) {
response.setHeader("Cache-Control", "no-cache, no-store, must-revalidate");

View File

@ -1,5 +1,6 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
function handleRequest(request, response) {
response.setStatusLine(request.httpVersion, 200, "OK");

View File

@ -1,6 +1,7 @@
/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
const CC = Components.Constructor;
const BinaryInputStream = CC(
@ -13,11 +14,11 @@ function handleRequest(request, response) {
response.setStatusLine(request.httpVersion, 200, "Och Aye");
response.setHeader("Content-Type", "text/plain; charset=utf-8", false);
var body = "";
let body = "";
if (request.method == "POST") {
var bodyStream = new BinaryInputStream(request.bodyInputStream);
var bytes = [],
avail = 0;
const bodyStream = new BinaryInputStream(request.bodyInputStream);
let avail = 0;
while ((avail = bodyStream.available()) > 0) {
body += String.fromCharCode.apply(
String,
@ -25,10 +26,11 @@ function handleRequest(request, response) {
);
}
}
var contentType = request.hasHeader("content-type")
const contentType = request.hasHeader("content-type")
? request.getHeader("content-type")
: "";
var bodyOutput = [request.method, contentType, body].join("\n");
const bodyOutput = [request.method, contentType, body].join("\n");
response.bodyOutputStream.write(bodyOutput, bodyOutput.length);
}

View File

@ -1,5 +1,6 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
function handleRequest(request, response) {
response.setStatusLine(request.httpVersion, 200, "OK");

View File

@ -1,5 +1,6 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
function handleRequest(request, response) {
response.setStatusLine(request.httpVersion, 200, "Och Aye");

View File

@ -1,5 +1,6 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
function handleRequest(request, response) {
response.setStatusLine(request.httpVersion, 200, "Och Aye");

View File

@ -1,5 +1,6 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
function handleRequest(request, response) {
response.setStatusLine(request.httpVersion, 200, "Och Aye");

View File

@ -1,5 +1,6 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
function handleRequest(request, response) {
response.processAsync();

View File

@ -1,3 +1,4 @@
"use strict";
function handleRequest(request, response) {
response.processAsync();
response.setHeader("Content-Type", "text/event-stream");

View File

@ -1,5 +1,6 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
function handleRequest(request, response) {
response.processAsync();

View File

@ -1,18 +1,19 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
var trailerServerTiming = [
const trailerServerTiming = [
{ metric: "metric3", duration: "99789.11", description: "time3" },
{ metric: "metric4", duration: "1112.13", description: "time4" },
];
var responseServerTiming = [
const responseServerTiming = [
{ metric: "metric1", duration: "123.4", description: "time1" },
{ metric: "metric2", duration: "0", description: "time2" },
];
function handleRequest(request, response) {
var body = "c\r\ndata reached\r\n3\r\nhej\r\n0\r\n";
const body = "c\r\ndata reached\r\n3\r\nhej\r\n0\r\n";
response.seizePower();
response.write("HTTP/1.1 200 OK\r\n");
@ -27,8 +28,8 @@ function handleRequest(request, response) {
}
function createServerTimingHeader(headerData) {
var header = "";
for (var i = 0; i < headerData.length; i++) {
let header = "";
for (let i = 0; i < headerData.length; i++) {
header +=
"Server-Timing: " +
headerData[i].metric +

View File

@ -1,5 +1,6 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
function handleRequest(request, response) {
const params = request.queryString.split("&");

View File

@ -1,5 +1,6 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
function handleRequest(request, response) {
response.setStatusLine(request.httpVersion, 200, "Och Aye");

View File

@ -1,6 +1,5 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
function handleRequest(request, response) {

View File

@ -1,5 +1,6 @@
/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
function handleRequest(request, response) {
response.processAsync();

View File

@ -1,5 +1,6 @@
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
function handleRequest(request, response) {
response.setHeader("Content-Type", "text/plain; charset=utf-8", false);

View File

@ -1,3 +1,5 @@
"use strict";
Components.utils.importGlobalProperties(["URLSearchParams"]);
function handleRequest(request, response) {
@ -43,7 +45,7 @@ function handleUserAgentTestRequest(request, response) {
function handleInjectedScriptTestRequest(request, response, params) {
response.setHeader("Content-Type", "text/html; charset=UTF-8", false);
const frames = parseInt(params.get("frames"));
const frames = parseInt(params.get("frames"), 10);
let content = "";
if (frames > 0) {

View File

@ -1,3 +1,5 @@
"use strict";
function handleRequest(request, response) {
response.processAsync();
response.setHeader("Content-Type", "text/event-stream");

View File

@ -1,13 +1,15 @@
"use strict";
function handleRequest(request, response) {
const Etag = '"4d881ab-b03-435f0a0f9ef00"';
const IfNoneMatch = request.hasHeader("If-None-Match")
? request.getHeader("If-None-Match")
: "";
var counter = getState("cache-counter") || 1;
const counter = getState("cache-counter") || 1;
const page = "<script>var jsValue = '" + counter + "';</script>" + counter;
setState("cache-counter", "" + (parseInt(counter) + 1));
setState("cache-counter", "" + (parseInt(counter, 10) + 1));
response.setHeader("Etag", Etag, false);

View File

@ -1,4 +1,4 @@
const createPage = function (msg) {
const createPage = function(msg) {
return `
<html>
<script>

View File

@ -28,12 +28,12 @@ function handleRequest(request, response) {
request
.getHeader("Content-Type")
.split(/\s*\;\s*/)
.forEach(function(s) {
if (s.indexOf("=") >= 0) {
let [name, value] = s.split("=");
.forEach(function(str) {
if (str.indexOf("=") >= 0) {
let [name, value] = str.split("=");
contentTypeParams[name] = value;
} else {
contentTypeParams[""] = s;
contentTypeParams[""] = str;
}
});
@ -49,9 +49,9 @@ function handleRequest(request, response) {
let headerEnd = s.indexOf("\r\n\r\n");
s.substr(2, headerEnd - 2)
.split("\r\n")
.forEach(function(s) {
.forEach(function(str) {
// We're assuming UTF8 for now
let [name, value] = s.split(": ");
let [name, value] = str.split(": ");
headers[name] = utf8decode(value);
});

View File

@ -47,9 +47,9 @@ function handleRequest(request, response) {
let headerEnd = s.indexOf("\r\n\r\n");
s.substr(2, headerEnd - 2)
.split("\r\n")
.forEach(function(s) {
.forEach(function(str) {
// We're assuming UTF8 for now
let [name, value] = s.split(": ");
let [name, value] = str.split(": ");
headers[name] = utf8decode(value);
});

View File

@ -18,9 +18,9 @@ function loadHTMLFromFile(path) {
path
.split("/")
.filter(path => path)
.reduce((file, path) => {
testHTMLFile.append(path);
.filter(path_1 => path_1)
.reduce((file, path_2) => {
testHTMLFile.append(path_2);
return testHTMLFile;
}, testHTMLFile);
testHTMLFileStream.init(testHTMLFile, -1, 0, 0);

View File

@ -104,7 +104,7 @@ function handleRequest(request, response) {
if (!queryResponse) {
return;
}
var receivedQueries = getState("receivedQueries");
receivedQueries = getState("receivedQueries");
queryResponse.write(receivedQueries);
queryResponse.finish();
});

View File

@ -1,7 +1,9 @@
"use strict";
function handleRequest(request, response) {
// The string "hello" repeated 10 times followed by newline. Compressed using gzip.
/* eslint-disable prettier/prettier */
var bytes = [0x1f, 0x8b, 0x08, 0x08, 0x4d, 0xe2, 0xf9, 0x54, 0x00, 0x03, 0x68,
let bytes = [0x1f, 0x8b, 0x08, 0x08, 0x4d, 0xe2, 0xf9, 0x54, 0x00, 0x03, 0x68,
0x65, 0x6c, 0x6c, 0x6f, 0x00, 0xcb, 0x48, 0xcd, 0xc9, 0xc9, 0xcf,
0x20, 0x85, 0xe0, 0x02, 0x00, 0xf5, 0x4b, 0x38, 0xcf, 0x33, 0x00,
0x00, 0x00];
@ -12,7 +14,7 @@ function handleRequest(request, response) {
response.setHeader("Content-Length", "" + bytes.length, false);
response.setHeader("Content-Type", "text/plain", false);
var bos = Components.classes[
let bos = Components.classes[
"@mozilla.org/binaryoutputstream;1"
].createInstance(Components.interfaces.nsIBinaryOutputStream);
bos.setOutputStream(response.bodyOutputStream);

View File

@ -19,7 +19,7 @@ function handleRequest(request, response) {
response.write('<body onload="window.opener.fullyLoaded()">');
// Send half of the content.
for (var i = 0; i < 100; ++i) {
for (let i = 0; i < 100; ++i) {
response.write("<p>Some text.</p>");
}
@ -30,7 +30,7 @@ function handleRequest(request, response) {
timer = Cc["@mozilla.org/timer;1"].createInstance(Ci.nsITimer);
timer.init(
() => {
for (var i = 0; i < 100; ++i) {
for (let i = 0; i < 100; ++i) {
response.write("<p>Some text.</p>");
}
response.write("</body>");

View File

@ -1,3 +1,5 @@
"use strict";
const BinaryOutputStream = Components.Constructor(
"@mozilla.org/binaryoutputstream;1",
"nsIBinaryOutputStream",
@ -20,12 +22,11 @@ const RED_SQUARE =
0xA3, 0xC4, 0x01, 0x3F, 0x58, 0x1D, 0xEF, 0x27, 0x00, 0x00,
0x00, 0x00, 0x49, 0x45, 0x4E, 0x44, 0xAE, 0x42, 0x60, 0x82
];
/* eslint-enable prettier/prettier */
function handleRequest(request, response) {
var query = {};
let query = {};
request.queryString.split("&").forEach(function(val) {
var [name, value] = val.split("=");
let [name, value] = val.split("=");
query[name] = unescape(value);
});
@ -34,9 +35,9 @@ function handleRequest(request, response) {
response.setStatusLine(request.httpVersion, 200, "OK");
response.setHeader("Content-Type", "text/plain", false);
var log = getState("bug-879963-request-log") || "";
let log = getState("bug-879963-request-log") || "";
var stream = new BinaryOutputStream(response.bodyOutputStream);
let stream = new BinaryOutputStream(response.bodyOutputStream);
if (query.q == "init") {
log = "init"; // initialize the log, and return a PNG image

View File

@ -1,5 +1,6 @@
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
function handleRequest(request, response) {
let hstsHeader = "max-age=300";

View File

@ -1,3 +1,5 @@
"use strict";
function handleRequest(request, response) {
response.setStatusLine(request.httpVersion, 200, "OK");
response.setHeader("Access-Control-Allow-Origin", "*");

View File

@ -1,3 +1,5 @@
"use strict";
function handleRequest(request, response) {
response.setStatusLine(request.httpVersion, 200, "OK");
//response.setHeader("Content-type", "image/gif");

View File

@ -1,3 +1,5 @@
"use strict";
function handleRequest(request, response) {
response.setStatusLine(request.httpVersion, 200, "OK");
response.setHeader("Content-type", "image/bitmap");

View File

@ -1,3 +1,5 @@
"use strict";
function handleRequest(request, response) {
response.setStatusLine(request.httpVersion, 307, "Moved temporarly");
response.setHeader(

View File

@ -1,3 +1,5 @@
"use strict";
function handleRequest(request, response) {
response.setStatusLine(request.httpVersion, 307, "Moved temporarly");
response.setHeader(

View File

@ -1,3 +1,5 @@
"use strict";
function handleRequest(request, response) {
response.setStatusLine(request.httpVersion, 307, "Moved temporarly");
response.setHeader(

View File

@ -1,3 +1,5 @@
"use strict";
function handleRequest(request, response) {
response.setStatusLine(request.httpVersion, 307, "Moved temporarly");
response.setHeader(

View File

@ -1,3 +1,5 @@
"use strict";
function handleRequest(request, response) {
response.setStatusLine(request.httpVersion, 204, "No Content");
}

View File

@ -1,3 +1,5 @@
"use strict";
function handleRequest(request, response) {
response.setStatusLine(request.httpVersion, 307, "Moved temporarly");
response.setHeader(

View File

@ -16,11 +16,14 @@ const IFRAME =
function handleRequest(aRequest, aResponse) {
aResponse.setStatusLine(aRequest.httpVersion, 200);
let key = aRequest.queryString.includes("what=script")
? "script"
: aRequest.queryString.includes("what=image")
? "image"
: "iframe";
let key;
if (aRequest.queryString.includes("what=script")) {
key = "script";
} else if (aRequest.queryString.includes("what=image")) {
key = "image";
} else {
key = "iframe";
}
if (aRequest.queryString.includes("result")) {
aResponse.write(getState(key));

View File

@ -1,3 +1,5 @@
"use strict";
function handleRequest(request, response) {
let page = "<!DOCTYPE html><html><body><p>HSTS page</p></body></html>";
response.setStatusLine(request.httpVersion, "200", "OK");

View File

@ -1,6 +1,7 @@
/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/
*/
"use strict";
Components.utils.importGlobalProperties(["URLSearchParams", "URL"]);
function handleRequest(request, response) {

View File

@ -1,4 +1,6 @@
function handleRequest(aRequest, aResponse) {
aResponse.setStatusLine(aRequest.httpVersion, 302);
aResponse.setHeader("Location", "./dummy_page.html");
"use strict";
function handleRequest(request, response) {
response.setStatusLine(request.httpVersion, 302);
response.setHeader("Location", "./dummy_page.html");
}

View File

@ -1,3 +1,5 @@
"use strict";
function handleRequest(request, response) {
try {
reallyHandleRequest(request, response);
@ -114,7 +116,7 @@ function reallyHandleRequest(request, response) {
throw new Error("Couldn't parse auth header: " + authHeader);
}
var userpass = base64ToString(match[1]); // no atob() :-(
let userpass = base64ToString(match[1]); // no atob() :-(
match = /(.*):(.*)/.exec(userpass);
if (match.length != 3) {
throw new Error("Couldn't decode auth header: " + userpass);
@ -132,7 +134,7 @@ function reallyHandleRequest(request, response) {
throw new Error("Couldn't parse auth header: " + authHeader);
}
var userpass = base64ToString(match[1]); // no atob() :-(
let userpass = base64ToString(match[1]); // no atob() :-(
match = /(.*):(.*)/.exec(userpass);
if (match.length != 3) {
throw new Error("Couldn't decode auth header: " + userpass);
@ -165,7 +167,7 @@ function reallyHandleRequest(request, response) {
}
} else if (requestProxyAuth) {
response.setStatusLine("1.0", 407, "Proxy authentication required");
for (i = 0; i < authHeaderCount; ++i) {
for (let i = 0; i < authHeaderCount; ++i) {
response.setHeader(
"Proxy-Authenticate",
'basic realm="' + proxy_realm + '"',
@ -178,7 +180,7 @@ function reallyHandleRequest(request, response) {
} else {
response.setStatusLine("1.0", 401, "Authentication required");
}
for (i = 0; i < authHeaderCount; ++i) {
for (let i = 0; i < authHeaderCount; ++i) {
response.setHeader(
"WWW-Authenticate",
'basic realm="' + realm + '"',
@ -207,7 +209,7 @@ function reallyHandleRequest(request, response) {
if (huge) {
response.write("<div style='display: none'>");
for (i = 0; i < 100000; i++) {
for (let i = 0; i < 100000; i++) {
response.write("123456789\n");
}
response.write("</div>");

View File

@ -39,10 +39,9 @@ function handleRequest(request, response) {
var actual_user = "",
actual_pass = "",
authHeader,
authPresent = false;
authHeader;
if (request.hasHeader("Authorization")) {
authPresent = true;
authHeader = request.getHeader("Authorization");
match = /Basic (.+)/.exec(authHeader);
if (match.length != 2) {

View File

@ -9,7 +9,6 @@ function handleRequest(request, response) {
function reallyHandleRequest(request, response) {
let match;
let requestAuth = true;
// XXX I bet this doesn't work for POST requests.
let query = request.queryString;

View File

@ -8,26 +8,26 @@ function handleRequest(request, response) {
}
function reallyHandleRequest(request, response) {
var match;
var requestAuth = true,
let match;
let requestAuth = true,
requestProxyAuth = true;
// Allow the caller to drive how authentication is processed via the query.
// Eg, http://localhost:8888/authenticate.sjs?user=foo&realm=bar
// The extra ? allows the user/pass/realm checks to succeed if the name is
// at the beginning of the query string.
var query = "?" + request.queryString;
let query = "?" + request.queryString;
var expected_user = "",
let expected_user = "",
expected_pass = "",
realm = "mochitest";
var proxy_expected_user = "",
let proxy_expected_user = "",
proxy_expected_pass = "",
proxy_realm = "mochi-proxy";
var huge = false,
let huge = false,
plugin = false,
anonymous = false;
var authHeaderCount = 1;
let authHeaderCount = 1;
// user=xxx
match = /[^_]user=([^&]*)/.exec(query);
if (match) {
@ -95,7 +95,7 @@ function reallyHandleRequest(request, response) {
// This test only supports Basic auth. The value sent by the client is
// "username:password", obscured with base64 encoding.
var actual_user = "",
let actual_user = "",
actual_pass = "",
authHeader,
authPresent = false;
@ -107,7 +107,7 @@ function reallyHandleRequest(request, response) {
throw new Error("Couldn't parse auth header: " + authHeader);
}
var userpass = base64ToString(match[1]); // no atob() :-(
let userpass = base64ToString(match[1]); // no atob() :-(
match = /(.*):(.*)/.exec(userpass);
if (match.length != 3) {
throw new Error("Couldn't decode auth header: " + userpass);
@ -116,7 +116,7 @@ function reallyHandleRequest(request, response) {
actual_pass = match[2];
}
var proxy_actual_user = "",
let proxy_actual_user = "",
proxy_actual_pass = "";
if (request.hasHeader("Proxy-Authorization")) {
authHeader = request.getHeader("Proxy-Authorization");
@ -125,7 +125,7 @@ function reallyHandleRequest(request, response) {
throw new Error("Couldn't parse auth header: " + authHeader);
}
var userpass = base64ToString(match[1]); // no atob() :-(
let userpass = base64ToString(match[1]); // no atob() :-(
match = /(.*):(.*)/.exec(userpass);
if (match.length != 3) {
throw new Error("Couldn't decode auth header: " + userpass);
@ -158,7 +158,7 @@ function reallyHandleRequest(request, response) {
}
} else if (requestProxyAuth) {
response.setStatusLine("1.0", 407, "Proxy authentication required");
for (i = 0; i < authHeaderCount; ++i) {
for (let i = 0; i < authHeaderCount; ++i) {
response.setHeader(
"Proxy-Authenticate",
'basic realm="' + proxy_realm + '"',
@ -167,7 +167,7 @@ function reallyHandleRequest(request, response) {
}
} else if (requestAuth) {
response.setStatusLine("1.0", 401, "Authentication required");
for (i = 0; i < authHeaderCount; ++i) {
for (let i = 0; i < authHeaderCount; ++i) {
response.setHeader(
"WWW-Authenticate",
'basic realm="' + realm + '"',
@ -196,7 +196,7 @@ function reallyHandleRequest(request, response) {
if (huge) {
response.write("<div style='display: none'>");
for (i = 0; i < 100000; i++) {
for (let i = 0; i < 100000; i++) {
response.write("123456789\n");
}
response.write("</div>");
@ -235,14 +235,14 @@ const toBinaryTable = [
const base64Pad = "=";
function base64ToString(data) {
var result = "";
var leftbits = 0; // number of bits decoded, but yet to be appended
var leftdata = 0; // bits decoded, but yet to be appended
let result = "";
let leftbits = 0; // number of bits decoded, but yet to be appended
let leftdata = 0; // bits decoded, but yet to be appended
// Convert one by one.
for (var i = 0; i < data.length; i++) {
var c = toBinaryTable[data.charCodeAt(i) & 0x7f];
var padding = data[i] == base64Pad;
for (let i = 0; i < data.length; i++) {
let c = toBinaryTable[data.charCodeAt(i) & 0x7f];
let padding = data[i] == base64Pad;
// Skip illegal characters and whitespace
if (c == -1) {
continue;

View File

@ -26,6 +26,9 @@ function handleRequest(request, response) {
/**
* Create an OpenSearch engine for the given base URL.
*
* @param {Response} response
* @param {object} engineData
*/
function createOpenSearchEngine(response, engineData) {
let params = "",

View File

@ -18,8 +18,8 @@ function handleRequest(request, response) {
return String.fromCharCode(...new TextEncoder().encode(str));
}
function writeSuggestions(query, completions = []) {
let jsonString = JSON.stringify([query, completions]);
function writeSuggestions(q, completions = []) {
let jsonString = JSON.stringify([q, completions]);
// This script must be evaluated as UTF-8 for this to write out the bytes of
// the string in UTF-8. If it's evaluated as Latin-1, the written bytes

View File

@ -4,7 +4,7 @@ eslint:
# ESLint infra handles its own path filtering, so just include cwd
include: ['.']
exclude: []
extensions: ['js', 'jsm', 'jsx', 'xul', 'html', 'xhtml']
extensions: ['js', 'jsm', 'jsx', 'xul', 'html', 'xhtml', 'sjs']
support-files:
- '**/.eslintrc.js'
- '.eslintignore'

View File

@ -26,7 +26,6 @@ module.exports = function(context) {
let testType = helpers.getTestType(context);
if (testType == "browser") {
context.markVariableAsUsed("test");
return;
}
if (testType == "xpcshell") {