fune/netwerk/test/browser/early_hint_error.sjs
Manuel Bucher d9951694c2 Bug 1753730 - Test that the cached image from the early hint preload is used r=necko-reviewers,ckerschb,dragana,kershaw
* Test that the preloaded image is actually used and that no preload requests
  are made if the resource shouldn't be preloaded

Differential Revision: https://phabricator.services.mozilla.com/D139740
2022-05-11 15:41:39 +00:00

37 lines
1.1 KiB
JavaScript

"use strict";
Cu.importGlobalProperties(["URLSearchParams"]);
function handleRequest(request, response) {
response.setStatusLine(
request.httpVersion,
parseInt(request.queryString),
"Dynamic error"
);
response.setHeader("Content-Type", "image/png", false);
response.setHeader("Cache-Control", "max-age=604800", false);
// count requests
let image;
let count = JSON.parse(getSharedState("earlyHintCount"));
if (
request.hasHeader("X-Moz") &&
request.getHeader("X-Moz") === "early hint"
) {
count.hinted += 1;
// set to green/black horizontal stripes (71 bytes)
image = atob(
"iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAIAAAD91JpzAAAADklEQVQIW2OU+i/FAAcADoABNV8X" +
"GBMAAAAASUVORK5CYII="
);
} else {
count.normal += 1;
// set to purple/white checkered pattern (76 bytes)
image = atob(
"iVBORw0KGgoAAAANSUhEUgAAAAIAAAACCAIAAAD91JpzAAAAE0lEQVQIW2P4//+/N8MkBiAGsgA1" +
"bAe1SzDY8gAAAABJRU5ErkJggg=="
);
}
setSharedState("earlyHintCount", JSON.stringify(count));
response.write(image);
}