diff --git a/cli/index.js b/cli/index.js index 8e2dddb..4206c0d 100755 --- a/cli/index.js +++ b/cli/index.js @@ -59,7 +59,6 @@ function main() { if (argv.debug) { console.error(error.stack); } - process.exit(1); } diff --git a/cli/options.js b/cli/options.js index 316f0e5..5c8769e 100644 --- a/cli/options.js +++ b/cli/options.js @@ -48,7 +48,7 @@ function options(args) { argv.useStdin = !process.stdin.isTTY; - argv.verbose = !process.stdout.isTTY; + argv.verbose = argv.verbose || !process.stdout.isTTY; return argv; } diff --git a/lib/get.js b/lib/get.js index e29a762..60769e6 100644 --- a/lib/get.js +++ b/lib/get.js @@ -61,7 +61,7 @@ module.exports = function get(url, options) { debug('request %s', url, settings); - cache[url] = new Promise(function promise(resolve, reject) { + cache[url] = new Promise(function (resolve, reject) { request(url, settings, function response(error, res, body) { if (error) { debug('request failed: %s', error.message); diff --git a/lib/index.js b/lib/index.js index 4bb587b..3dcd35f 100644 --- a/lib/index.js +++ b/lib/index.js @@ -74,10 +74,25 @@ function Inliner(source, options, callback) { delete options.header; } - if (options.headers && !Array.isArray(options.headers)) { + if (!Array.isArray(options.headers)) { options.headers = [options.headers]; } + if (options.headers && Array.isArray(options.headers)) { + options.headers = options.headers.reduce(function (acc, curr) { + if (typeof curr === 'string') { + var parts = curr.split(':').map(function (s) { + return s.trim(); + }); + acc[parts[0]] = parts[1]; + } else { + var key = Object.keys(curr); + acc[key] = curr[key]; + } + return acc; + }, {}); + } + if (options.headers && typeof options.headers[0] === 'string') { // convert to an object of key/value pairs options.headers = options.headers.reduce(function (acc, curr) {