nav tabs on admin dashboard
This commit is contained in:
105
node_modules/on-headers/index.js
generated
vendored
105
node_modules/on-headers/index.js
generated
vendored
@@ -7,38 +7,27 @@
|
||||
'use strict'
|
||||
|
||||
/**
|
||||
* Reference to Array slice.
|
||||
* Module exports.
|
||||
* @public
|
||||
*/
|
||||
|
||||
var slice = Array.prototype.slice
|
||||
module.exports = onHeaders
|
||||
|
||||
/**
|
||||
* Execute a listener when a response is about to write headers.
|
||||
* Create a replacement writeHead method.
|
||||
*
|
||||
* @param {Object} res
|
||||
* @return {Function} listener
|
||||
* @api public
|
||||
* @param {function} prevWriteHead
|
||||
* @param {function} listener
|
||||
* @private
|
||||
*/
|
||||
|
||||
module.exports = function onHeaders(res, listener) {
|
||||
if (!res) {
|
||||
throw new TypeError('argument res is required')
|
||||
}
|
||||
|
||||
if (typeof listener !== 'function') {
|
||||
throw new TypeError('argument listener must be a function')
|
||||
}
|
||||
|
||||
res.writeHead = createWriteHead(res.writeHead, listener)
|
||||
}
|
||||
|
||||
function createWriteHead(prevWriteHead, listener) {
|
||||
var fired = false;
|
||||
function createWriteHead (prevWriteHead, listener) {
|
||||
var fired = false
|
||||
|
||||
// return function with core name and argument list
|
||||
return function writeHead(statusCode) {
|
||||
return function writeHead (statusCode) {
|
||||
// set headers from arguments
|
||||
var args = setWriteHeadHeaders.apply(this, arguments);
|
||||
var args = setWriteHeadHeaders.apply(this, arguments)
|
||||
|
||||
// fire listener
|
||||
if (!fired) {
|
||||
@@ -52,11 +41,68 @@ function createWriteHead(prevWriteHead, listener) {
|
||||
}
|
||||
}
|
||||
|
||||
prevWriteHead.apply(this, args);
|
||||
return prevWriteHead.apply(this, args)
|
||||
}
|
||||
}
|
||||
|
||||
function setWriteHeadHeaders(statusCode) {
|
||||
/**
|
||||
* Execute a listener when a response is about to write headers.
|
||||
*
|
||||
* @param {object} res
|
||||
* @return {function} listener
|
||||
* @public
|
||||
*/
|
||||
|
||||
function onHeaders (res, listener) {
|
||||
if (!res) {
|
||||
throw new TypeError('argument res is required')
|
||||
}
|
||||
|
||||
if (typeof listener !== 'function') {
|
||||
throw new TypeError('argument listener must be a function')
|
||||
}
|
||||
|
||||
res.writeHead = createWriteHead(res.writeHead, listener)
|
||||
}
|
||||
|
||||
/**
|
||||
* Set headers contained in array on the response object.
|
||||
*
|
||||
* @param {object} res
|
||||
* @param {array} headers
|
||||
* @private
|
||||
*/
|
||||
|
||||
function setHeadersFromArray (res, headers) {
|
||||
for (var i = 0; i < headers.length; i++) {
|
||||
res.setHeader(headers[i][0], headers[i][1])
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set headers contained in object on the response object.
|
||||
*
|
||||
* @param {object} res
|
||||
* @param {object} headers
|
||||
* @private
|
||||
*/
|
||||
|
||||
function setHeadersFromObject (res, headers) {
|
||||
var keys = Object.keys(headers)
|
||||
for (var i = 0; i < keys.length; i++) {
|
||||
var k = keys[i]
|
||||
if (k) res.setHeader(k, headers[k])
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Set headers and other properties on the response object.
|
||||
*
|
||||
* @param {number} statusCode
|
||||
* @private
|
||||
*/
|
||||
|
||||
function setWriteHeadHeaders (statusCode) {
|
||||
var length = arguments.length
|
||||
var headerIndex = length > 1 && typeof arguments[1] === 'string'
|
||||
? 2
|
||||
@@ -68,19 +114,12 @@ function setWriteHeadHeaders(statusCode) {
|
||||
|
||||
this.statusCode = statusCode
|
||||
|
||||
// the following block is from node.js core
|
||||
if (Array.isArray(headers)) {
|
||||
// handle array case
|
||||
for (var i = 0, len = headers.length; i < len; ++i) {
|
||||
this.setHeader(headers[i][0], headers[i][1])
|
||||
}
|
||||
setHeadersFromArray(this, headers)
|
||||
} else if (headers) {
|
||||
// handle object case
|
||||
var keys = Object.keys(headers)
|
||||
for (var i = 0; i < keys.length; i++) {
|
||||
var k = keys[i]
|
||||
if (k) this.setHeader(k, headers[k])
|
||||
}
|
||||
setHeadersFromObject(this, headers)
|
||||
}
|
||||
|
||||
// copy leading arguments
|
||||
|
||||
Reference in New Issue
Block a user