Coverage

100%
12
12
0

connect-rt.js

100%
12
12
0
LineHitsSource
1/*!
2 * connect-rt - lib/connect-rt.js
3 * Copyright(c) 2012 fengmk2 <fengmk2@gmail.com>
4 * MIT Licensed
5 */
6
71"use strict";
8
9/**
10 * Module dependencies.
11 */
12
131var microtime = require('microtime');
14
15/**
16 * Reponse time:
17 *
18 * Adds the `X-Response-Time` header displaying the response
19 * duration in milliseconds.
20 *
21 * @see https://github.com/senchalabs/connect/blob/master/lib/middleware/responseTime.js
22 * @return {Function(req, res, next)}
23 * @api public
24 */
25
261module.exports = function responseTime() {
272 return function (req, res, next) {
282 var start = microtime.now();
29
302 if (res._responseTime) {
311 return next();
32 }
331 res._responseTime = true;
34
351 res.on('header', function () {
361 var duration = microtime.now() - start;
371 res.setHeader('X-Response-Time', (duration / 1000) + 'ms');
38 });
39
401 next();
41 };
42};