| var utils = require('./utils'); | 
|   | 
| var table = ` | 
| 1    :authority     | 
| 2    :method    GET | 
| 3    :method    POST | 
| 4    :path    / | 
| 5    :path    /index.html | 
| 6    :scheme    http | 
| 7    :scheme    https | 
| 8    :status    200 | 
| 9    :status    204 | 
| 10    :status    206 | 
| 11    :status    304 | 
| 12    :status    400 | 
| 13    :status    404 | 
| 14    :status    500 | 
| 15    accept-charset     | 
| 16    accept-encoding    gzip, deflate | 
| 17    accept-language     | 
| 18    accept-ranges     | 
| 19    accept     | 
| 20    access-control-allow-origin     | 
| 21    age     | 
| 22    allow     | 
| 23    authorization     | 
| 24    cache-control     | 
| 25    content-disposition     | 
| 26    content-encoding     | 
| 27    content-language     | 
| 28    content-length     | 
| 29    content-location     | 
| 30    content-range     | 
| 31    content-type     | 
| 32    cookie     | 
| 33    date     | 
| 34    etag     | 
| 35    expect     | 
| 36    expires     | 
| 37    from     | 
| 38    host     | 
| 39    if-match     | 
| 40    if-modified-since     | 
| 41    if-none-match     | 
| 42    if-range     | 
| 43    if-unmodified-since     | 
| 44    last-modified     | 
| 45    link     | 
| 46    location     | 
| 47    max-forwards     | 
| 48    proxy-authenticate     | 
| 49    proxy-authorization     | 
| 50    range     | 
| 51    referer     | 
| 52    refresh     | 
| 53    retry-after     | 
| 54    server     | 
| 55    set-cookie     | 
| 56    strict-transport-security     | 
| 57    transfer-encoding     | 
| 58    user-agent     | 
| 59    vary     | 
| 60    via     | 
| 61    www-authenticate     | 
| `; | 
|   | 
| var out = []; | 
| table.split('\n').filter(function(line) { | 
|   return line; | 
| }).forEach(function(line) { | 
|   var columns = line.split(/\t/g); | 
|   var name = columns[1]; | 
|   var value = columns[2]; | 
|   var nameSize = Buffer.byteLength(name); | 
|   var valueSize = Buffer.byteLength(value); | 
|   out.push({ | 
|     name: name, | 
|     value: value, | 
|     nameSize: nameSize, | 
|     totalSize: nameSize + valueSize + 32 | 
|   }); | 
| }); | 
|   | 
| console.log('exports.table = ' + JSON.stringify(out, false, 2) + ';'); | 
|   | 
| var map = {}; | 
| table.split('\n').filter(function(line) { | 
|   return line; | 
| }).forEach(function(line) { | 
|   var columns = line.split(/\t/g); | 
|   var name = columns[1]; | 
|   var value = columns[2]; | 
|   | 
|   var index = columns[0] | 0; | 
|   if (!map[name]) { | 
|     map[name] = { | 
|       index: index, | 
|       values: {} | 
|     }; | 
|   } | 
|   map[name].values[value] = index; | 
| }); | 
| console.log('exports.map = ' + JSON.stringify(map, false, 2) + ';'); |