fune/layout/generic/test/file_SlowImage.sjs
Andrew McCreight b7bb86d0d4 Bug 1436184 - Remove definitions of Ci, Cr, Cc, and Cu from httpd.js and .sjs files. r=florian
MozReview-Commit-ID: IKKb9zr2OSf

--HG--
extra : rebase_source : 72d949405c18e6d421422e7865182352eee0c407
2018-02-06 15:03:13 -08:00

43 lines
1 KiB
JavaScript

"use strict";
const IMG_BYTES = atob(
"iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAA" +
"DUlEQVQImWNgY2P7DwABOgESJhRQtgAAAABJRU5ErkJggg==");
function handleRequest(request, response) {
response.processAsync();
getObjectState("context", function(obj) {
let ctx;
if (obj == null) {
ctx = {
QueryInterface: function(iid) {
if (iid.equals(Components.interfaces.nsISupports))
return this;
throw Components.results.NS_ERROR_NO_INTERFACE;
}
};
ctx.wrappedJSObject = ctx;
ctx.promise = new Promise(resolve => {
ctx.resolve = resolve;
});
setObjectState("context", ctx);
} else {
ctx = obj.wrappedJSObject;
}
Promise.resolve(ctx).then(next);
});
function next(ctx) {
if (request.queryString.indexOf("continue") >= 0) {
ctx.resolve();
}
ctx.promise.then(() => {
response.setHeader("Content-Type", "image/png");
response.write(IMG_BYTES);
response.finish();
});
}
}