| 1234567891011121314151617181920212223242526272829303132333435 | 'use strict';var Headers = function() {  this.clear();};Headers.prototype.ALLOWED_DUPLICATES = ['set-cookie', 'set-cookie2', 'warning', 'www-authenticate'];Headers.prototype.clear = function() {  this._sent  = {};  this._lines = [];};Headers.prototype.set = function(name, value) {  if (value === undefined) return;  name = this._strip(name);  value = this._strip(value);  var key = name.toLowerCase();  if (!this._sent.hasOwnProperty(key) || this.ALLOWED_DUPLICATES.indexOf(key) >= 0) {    this._sent[key] = true;    this._lines.push(name + ': ' + value + '\r\n');  }};Headers.prototype.toString = function() {  return this._lines.join('');};Headers.prototype._strip = function(string) {  return string.toString().replace(/^ */, '').replace(/ *$/, '');};module.exports = Headers;
 |