resedit-cli
Version:
Command-line tool for editing Windows Resource data in executable binaries
44 lines (43 loc) • 1.57 kB
JavaScript
import { createRequire } from 'module';
import * as log from '../log.js';
const require = createRequire(import.meta.url);
const request = (() => {
try {
const packageJson = require('request/package.json');
if (typeof packageJson !== 'object' ||
packageJson === null ||
typeof packageJson.version !== 'string') {
log.warn("Cannot determine 'request' package version");
}
else {
const versionTokens = packageJson.version.split('.');
if (versionTokens[0] !== '2' || Number(versionTokens[1]) < 88) {
log.warn(`'request' module is found but unsupported version: ${packageJson.version} (expected: ^2.88.0)`);
}
}
return require('request');
}
catch (_a) {
return null;
}
})();
export function isAvailable() {
return request !== null;
}
export default function requestSimpleUsingModule(url, opt, cb) {
log.debug("[sign] Use 'request' module");
const options = Object.assign(Object.assign({}, opt), { encoding: null });
request(url, options, (err, res, body) => {
if (err !== null && err !== undefined) {
cb(err, res.headers, body);
}
else {
if (res.statusCode < 200 || res.statusCode >= 400) {
cb(new Error(`Server error ${res.statusCode} ${res.statusMessage}`), res.headers, body);
}
else {
cb(null, res.headers, body);
}
}
});
}