arnaucube
arnaucube/raspberryGPIOhtmlserverPublic Self-hosted repository
raspberryGPIOhtmlserver/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};