| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394 | 
							- 'use strict'
 
- var utils = exports
 
- var util = require('util')
 
- function ProtocolError (code, message) {
 
-   this.code = code
 
-   this.message = message
 
- }
 
- util.inherits(ProtocolError, Error)
 
- utils.ProtocolError = ProtocolError
 
- utils.error = function error (code, message) {
 
-   return new ProtocolError(code, message)
 
- }
 
- utils.reverse = function reverse (object) {
 
-   var result = []
 
-   Object.keys(object).forEach(function (key) {
 
-     result[object[key] | 0] = key
 
-   })
 
-   return result
 
- }
 
- // weight [1, 36] <=> priority [0, 7]
 
- // This way weight=16 is preserved and has priority=3
 
- utils.weightToPriority = function weightToPriority (weight) {
 
-   return ((Math.min(35, (weight - 1)) / 35) * 7) | 0
 
- }
 
- utils.priorityToWeight = function priorityToWeight (priority) {
 
-   return (((priority / 7) * 35) | 0) + 1
 
- }
 
- // Copy-Paste from node
 
- exports.addHeaderLine = function addHeaderLine (field, value, dest) {
 
-   field = field.toLowerCase()
 
-   if (/^:/.test(field)) {
 
-     dest[field] = value
 
-     return
 
-   }
 
-   switch (field) {
 
-     // Array headers:
 
-     case 'set-cookie':
 
-       if (dest[field] !== undefined) {
 
-         dest[field].push(value)
 
-       } else {
 
-         dest[field] = [ value ]
 
-       }
 
-       break
 
-     /* eslint-disable max-len */
 
-     // list is taken from:
 
-     /* eslint-enable max-len */
 
-     case 'content-type':
 
-     case 'content-length':
 
-     case 'user-agent':
 
-     case 'referer':
 
-     case 'host':
 
-     case 'authorization':
 
-     case 'proxy-authorization':
 
-     case 'if-modified-since':
 
-     case 'if-unmodified-since':
 
-     case 'from':
 
-     case 'location':
 
-     case 'max-forwards':
 
-       // drop duplicates
 
-       if (dest[field] === undefined) {
 
-         dest[field] = value
 
-       }
 
-       break
 
-     case 'cookie':
 
-       // make semicolon-separated list
 
-       if (dest[field] !== undefined) {
 
-         dest[field] += '; ' + value
 
-       } else {
 
-         dest[field] = value
 
-       }
 
-       break
 
-     default:
 
-       // make comma-separated list
 
-       if (dest[field] !== undefined) {
 
-         dest[field] += ', ' + value
 
-       } else {
 
-         dest[field] = value
 
-       }
 
-   }
 
- }
 
 
  |