X-Git-Url: http://www.aleph1.co.uk/gitweb/?p=yaffs-website;a=blobdiff_plain;f=node_modules%2Fparse-headers%2Fparse-headers.js;fp=node_modules%2Fparse-headers%2Fparse-headers.js;h=acc08e9ce0e2cd08b0e25a814d04273a30aea473;hp=0000000000000000000000000000000000000000;hb=a2bd1bf0c2c1f1a17d188f4dc0726a45494cefae;hpb=57c063afa3f66b07c4bbddc2d6129a96d90f0aad diff --git a/node_modules/parse-headers/parse-headers.js b/node_modules/parse-headers/parse-headers.js new file mode 100644 index 000000000..acc08e9ce --- /dev/null +++ b/node_modules/parse-headers/parse-headers.js @@ -0,0 +1,31 @@ +var trim = require('trim') + , forEach = require('for-each') + , isArray = function(arg) { + return Object.prototype.toString.call(arg) === '[object Array]'; + } + +module.exports = function (headers) { + if (!headers) + return {} + + var result = {} + + forEach( + trim(headers).split('\n') + , function (row) { + var index = row.indexOf(':') + , key = trim(row.slice(0, index)).toLowerCase() + , value = trim(row.slice(index + 1)) + + if (typeof(result[key]) === 'undefined') { + result[key] = value + } else if (isArray(result[key])) { + result[key].push(value) + } else { + result[key] = [ result[key], value ] + } + } + ) + + return result +} \ No newline at end of file