1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- 'use strict';
- /**
- * Return the mime type for the given `str`.
- *
- * @param {String} str
- * @return {String}
- * @api private
- */
- exports.type = function(str){
- return str.split(/ *; */).shift();
- };
- /**
- * Return header field parameters.
- *
- * @param {String} str
- * @return {Object}
- * @api private
- */
- exports.params = function(str){
- return str.split(/ *; */).reduce(function(obj, str){
- var parts = str.split(/ *= */);
- var key = parts.shift();
- var val = parts.shift();
- if (key && val) obj[key] = val;
- return obj;
- }, {});
- };
- /**
- * Parse Link header fields.
- *
- * @param {String} str
- * @return {Object}
- * @api private
- */
- exports.parseLinks = function(str){
- return str.split(/ *, */).reduce(function(obj, str){
- var parts = str.split(/ *; */);
- var url = parts[0].slice(1, -1);
- var rel = parts[1].split(/ *= */)[1].slice(1, -1);
- obj[rel] = url;
- return obj;
- }, {});
- };
- /**
- * Strip content related fields from `header`.
- *
- * @param {Object} header
- * @return {Object} header
- * @api private
- */
- exports.cleanHeader = function(header, changesOrigin){
- delete header['content-type'];
- delete header['content-length'];
- delete header['transfer-encoding'];
- delete header['host'];
- // secuirty
- if (changesOrigin) {
- delete header['authorization'];
- delete header['cookie'];
- }
- return header;
- };
|