Security update for permissions_by_term
[yaffs-website] / node_modules / parse-headers / parse-headers.js
1 var trim = require('trim')
2   , forEach = require('for-each')
3   , isArray = function(arg) {
4       return Object.prototype.toString.call(arg) === '[object Array]';
5     }
6
7 module.exports = function (headers) {
8   if (!headers)
9     return {}
10
11   var result = {}
12
13   forEach(
14       trim(headers).split('\n')
15     , function (row) {
16         var index = row.indexOf(':')
17           , key = trim(row.slice(0, index)).toLowerCase()
18           , value = trim(row.slice(index + 1))
19
20         if (typeof(result[key]) === 'undefined') {
21           result[key] = value
22         } else if (isArray(result[key])) {
23           result[key].push(value)
24         } else {
25           result[key] = [ result[key], value ]
26         }
27       }
28   )
29
30   return result
31 }