comunicationLeap/node_modules/connect/lib/middleware/responseTime.js
node_modules/connect/lib/middleware/responseTime.jsRaw
1
2/*!
3 * Connect - responseTime
4 * Copyright(c) 2011 TJ Holowaychuk
5 * MIT Licensed
6 */
7
8/**
9 * Reponse time:
10 *
11 * Adds the `X-Response-Time` header displaying the response
12 * duration in milliseconds.
13 *
14 * @return {Function}
15 * @api public
16 */
17
18module.exports = function responseTime(){
19 return function(req, res, next){
20 var start = new Date;
21
22 if (res._responseTime) return next();
23 res._responseTime = true;
24
25 res.on('header', function(){
26 var duration = new Date - start;
27 res.setHeader('X-Response-Time', duration + 'ms');
28 });
29
30 next();
31 };
32};