API Docs for:
Show:

File: utils/middleware/createSlowInternet.js

"use strict";

/**
 * Express middleware for simulating slow internet connections.
 * Set slowness to SLOW environment variable as milliseconds.
 *
 * @namespace utils.middleware
 * @class createSlowInternet
 * @constructor
 * @param {Number} [time] to wait before responding to requests
 * @return {Function} connect middleware
 */
function createSlowInternet(time) {
    return function(req, res, next) {
        time = parseInt(process.env.SLOW || time, 10);
        if (!time) return next();

        console.log("Adding", time, "ms extra to the request");
        setTimeout(next.bind(this, null), time);
    };
}

module.exports = createSlowInternet;