--- /dev/null
+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