|
||
---|---|---|
.. | ||
erratic.go | ||
erratic_test.go | ||
README.md | ||
setup.go | ||
setup_test.go |
erratic
erratic is a middleware useful for testing client behavior. It returns a static response to all queries, but the responses can be delayed by a random amount of time or dropped all together, i.e. no answer at all.
The erratic middleware will respond to every A or AAAA query. For any other type it will return a SERVFAIL response. The reply for A will return 192.0.2.53 (see RFC 5737), for AAAA it returns 2001:DB8::53 (see RFC 3849).
Syntax
erratic {
drop [AMOUNT]
delay [AMOUNT [DURATION]]
}
drop
: drop 1 per AMOUNT of the queries, the default is 2.delay
: delay 1 per AMOUNT of queries for DURATION, the default for AMOUNT is 2 and the default for DURATION is 100ms.
Examples
.:53 {
erratic {
drop 3
}
}
Or even shorter if the defaults suits you. Note this only drops queries, it does not delay them.
. {
erratic
}
Delay 1 in 3 queries for 50ms, but also drop 1 in 2.
. {
erratic {
delay 3 50ms
}
}
To stop dropping you'll need to explicitally set that to 0:
. {
erratic {
delay 3 50ms
drop 0
}
}