toxy
Version:
Hackable HTTP proxy to simulate server failure scenarios and network conditions
54 lines (41 loc) • 1.1 kB
JavaScript
const midware = require('midware')
const Base = require('./base')
module.exports = Rule
/**
* Rule provides convenient methods to manage
* and configure rule directives.
*
* @class Rule
* @mixin Base
*/
function Rule () {
this._rules = midware()
}
Rule.prototype.enableRule = function (rule) {
return this._callMethod(this._rules, 'enable', rule)
}
Rule.prototype.disableRule = function (rule) {
return this._callMethod(this._rules, 'disable', rule)
}
Rule.prototype.disableRules = function () {
return this._disableAll(this._rules)
}
Rule.prototype.removeRule = function (rule) {
return this._remove(this._rules, rule)
}
Rule.prototype.isRuleEnabled = function (rule) {
return this._callMethod(this._rules, 'isEnabled', rule)
}
Rule.prototype.getRule = function (rule) {
return this._getDirective(this._rules, rule)
}
Rule.prototype.getRules = function () {
return this._getAll(this._rules)
}
Rule.prototype.flushRules = function () {
this._rules.stack.splice(0)
return this
}
Object.keys(Base).forEach(function (key) {
Rule.prototype[key] = Base[key]
})