gecko-dev/netwerk/test/mochitests/subResources.sjs

48 строки
1.4 KiB
JavaScript

const kTwoDays = 2 * 24 * 60 * 60;
const kInTwoDays = (new Date().getTime() + kTwoDays * 1000);
function getDateInTwoDays()
{
let date2 = new Date(kInTwoDays);
let days = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"];
let months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct",
"Nov", "Dec"];
let day = date2.getUTCDate();
if (day < 10) {
day = "0" + day;
}
let month = months[date2.getUTCMonth()];
let year = date2.getUTCFullYear();
let hour = date2.getUTCHours();
if (hour < 10) {
hour = "0" + hour;
}
let minute = date2.getUTCMinutes();
if (minute < 10) {
minute = "0" + minute;
}
let second = date2.getUTCSeconds();
if (second < 10) {
second = "0" + second;
}
return days[date2.getUTCDay()] + ", " + day + "-" + month + "-" +
year + " " + hour + ":" + minute + ":" + second + " GMT";
}
function handleRequest(aRequest, aResponse) {
aResponse.setStatusLine(aRequest.httpVersion, 200);
let suffix = " path=/; domain:.mochi.test";
if (aRequest.queryString.includes("3")) {
aResponse.setHeader("Set-Cookie", "test3=value3; expires=Fri, 02-Jan-2037 00:00:01 GMT;" + suffix);
} else if (aRequest.queryString.includes("4")) {
let date2 = getDateInTwoDays();
aResponse.setHeader("Set-Cookie", "test4=value4; expires=" + date2 + ";" + suffix);
}
aResponse.setHeader("Content-Type", "text/javascript", false);
aResponse.write("42;");
}