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;
|