UNPKG

jurl

Version:

A minimal but useful cURL wrapper.

46 lines (40 loc) 1.09 kB
/** * Created by instancetype on 8/19/14. */ /* jshint bitwise : true, eqeqeq : true, forin : true, noarg : true, noempty : true, nonew : true, asi : true, esnext : true, laxcomma : true, sub : true, browser : true, node : true, phantom : true */ function parseInput(inputArray, optsObj) { optsObj = optsObj || {} var methods = ['GET', 'HEAD', 'POST', 'PUT', 'DELETE'] , curlArgs , dataArgs if ( methods.indexOf(inputArray[0].toUpperCase()) !== -1 ) { optsObj.method = inputArray[0].toUpperCase() } else { inputArray.unshift('spaceholder') } optsObj.url = inputArray[1] curlArgs = parseMethod(optsObj) dataArgs = inputArray.slice(2) if (dataArgs.length) { dataArgs.forEach(function(dataArg) { curlArgs.push(['-d'], dataArg) }) } return curlArgs } function parseMethod(opts) { switch (opts.method) { case 'GET': return ['-i', opts.url] case 'HEAD': return ['-I', opts.url] case 'POST': return [opts.url] default: return ['-X', opts.method, opts.url] } } module.exports = parseInput