Sha256: a0498e247544e66795565a474d50a6b1566acacafc1339bcc43587ca1f9a9a50
Contents?: true
Size: 1.6 KB
Versions: 26
Compression:
Stored size: 1.6 KB
Contents
"use strict"; const util = require("util"); const { JSDOM } = require("../../../.."); const { READY_STATES } = require("./xhr-utils"); const idlUtils = require("../generated/utils"); const tough = require("tough-cookie"); const dom = new JSDOM(); const xhr = new dom.window.XMLHttpRequest(); const xhrImpl = idlUtils.implForWrapper(xhr); const chunks = []; process.stdin.on("data", chunk => { chunks.push(chunk); }); process.stdin.on("end", () => { const buffer = Buffer.concat(chunks); const flag = JSON.parse(buffer.toString()); if (flag.body && flag.body.type === "Buffer" && flag.body.data) { flag.body = Buffer.from(flag.body.data); } if (flag.cookieJar) { flag.cookieJar = tough.CookieJar.fromJSON(flag.cookieJar); } flag.synchronous = false; Object.assign(xhrImpl.flag, flag); const { properties } = xhrImpl; xhrImpl.readyState = READY_STATES.OPENED; try { xhr.addEventListener("loadend", () => { if (properties.error) { properties.error = properties.error.stack || util.inspect(properties.error); } process.stdout.write(JSON.stringify({ responseURL: xhrImpl.responseURL, status: xhrImpl.status, statusText: xhrImpl.statusText, properties }), () => { process.exit(0); }); }, false); xhr.send(flag.body); } catch (error) { properties.error += error.stack || util.inspect(error); process.stdout.write(JSON.stringify({ responseURL: xhrImpl.responseURL, status: xhrImpl.status, statusText: xhrImpl.statusText, properties }), () => { process.exit(0); }); } });
Version data entries
26 entries across 26 versions & 1 rubygems