Skip to content

Instantly share code, notes, and snippets.

@joewright
Created January 26, 2023 22:33
Show Gist options
  • Save joewright/ebe8dd7a384e28143c1dc42dfe956a48 to your computer and use it in GitHub Desktop.
Save joewright/ebe8dd7a384e28143c1dc42dfe956a48 to your computer and use it in GitHub Desktop.
Preview hidden article
const https = require('https');
let urlvalue = new URL(process.argv[2]);
run(urlvalue).then(function () {
// console.log('done');
}, function (err) {
console.error(err);
});
async function run(urlvalue) {
const text = await doReq(urlvalue);
const matchingStartStr = `;Fusion.globalContent=`;
const matchingEndStr = `;Fusion.globalContentConfig`;
let data = text.split(matchingStartStr)[1].split(matchingEndStr)[0];
data = JSON.parse(data);
data.content_elements.forEach(el => {
el.content && console.log(el.content);
});
}
function doReq(url, opts) {
opts = opts || {};
return new Promise((resolve, reject) => {
const options = {
hostname: url.hostname,
port: url.port,
path: url.pathname + url.search,
method: 'GET',
headers: opts.headers || {},
rejectUnauthorized: opts.rejectUnauthorized === undefined ? true : opts.rejectUnauthorized
};
const req = https.request(options, res => {
let output = '';
if (opts.streamResponse) {
return resolve(res);
}
res.on('data', d => {
output += d;
});
res.on('end', () => {
if (opts.json) {
try {
resolve(JSON.parse(output));
} catch (e) {
reject(e);
}
} else {
resolve(output);
}
});
});
req.on('error', error => {
reject(error);
});
req.end();
return req;
});
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment