docs: function validArguments() {
      var conditions = {
        'port and host': function () {
          return port && host;
        },
        'options.target or options.router': function () {
          return options && (options.router ||
            (options.target && options.target.host && options.target.port));
        },
        'or proxy handlers': function () {
          return handlers && handlers.length;
        }
      }
  
      var missing = Object.keys(conditions).filter(function (name) {
        return !conditions[name]();
      });
  
      if (missing.length === 3) {
        message = 'Cannot proxy without ' + missing.join(', ');
        return false;
      }
  
      return true;
    }