Ejemplo n.º 1
0
function slow(options) {
    options = options || {};
    if (options.url) {
        if (!isRegExp(options.url)) {
            throw new Error('url should be a RegExp to check request url, not ' + options.url);
        }
    }

    options.delay = options.delay || 1000;
    if (options.delay < 1) {
        throw new Error('Delay should be positive number, not ' + options.delay);
    }

    return function (ctx, next) {
        if (options.url) {
            if (options.url.test(ctx.url)) {
                // slow specific resoures down
                return sleep(options.delay).then(next());
            } else {
              return next();
            }
        } else {
            // slow everything down
            return sleep(options.delay).then(next());
        }
    };
};
Ejemplo n.º 2
0
module.exports = function connectStopConfig(options) {
  options = options || {};
  if (options.url) {
    if (!isRegExp(options.url)) {
      throw new Error('url should be a RegExp to check request url, not ' + options.url);
    }
  }

  if (typeof options.response !== 'number' || options.response < 1) {
    throw new Error('Response should be positive HTTP code, not ' + options.response);
  }

  // Return the response for this url, if defined
  function getQueryResponse(url) {
    var response;
    if (options.stopQueryParam) {
      var parsedUrl = parseUrl(url, true);

      if (parsedUrl.query && parsedUrl.query[options.stopQueryParam]) {
        var queryResponse = parseInt(parsedUrl.query[options.stopQueryParam]);
        if (queryResponse > 1) {
          response = queryResponse;
        }
      }
    }

    return response;
  }

  function getUrlResponse(url) {
    if (options.url && options.url.test(url)) {
      return options.response;
    }
  }

  function getResponse(url) {
    var response = getQueryResponse(url);
    if (response === undefined) {
      response = getUrlResponse(url);
    }
    return response;
  }

  return function connectStop(req, res, next) {
    var response = getResponse(req.url);
    if (response && response > 0) {
      if (options.debug) {
        console.log('Connect-stop: sending response %d to url %s', response, req.url);
      }
      res.writeHead(response);
      res.end();
    } else {
      next();
    }
  };
};
Ejemplo n.º 3
0
  return _every(rule, (val, key) => {
    if (isRegExp(val)) {
      val.lastIndex = 0;
      return val.test(decl[key]);
    } else if (isString(val)) {
      return decl[key] === val;
    }

    return false;
  });
Ejemplo n.º 4
0
export function normalizeWatcherConfig(givenOptions: Object): WatcherConfig {
  const options = Object.assign({}, givenOptions)
  if (typeof options.ignored !== 'string' && !isRegexp(options.ignored) && !Array.isArray(options.ignored)) {
    options.ignored = /(node_modules|bower_components)/
  }
  if (typeof options.onError !== 'function') {
    throw new Error('options.onError must be a function')
  }
  options.ignored = [/[\/\\]\./].concat(options.ignored)
  return options
}