Add middleware/erratic (#471)

This middleware allows playing with responses. Only one type is
implemented: it allows you to drop queries. I.e. withhold the response
from the client.
This commit is contained in:
Miek Gieben 2017-01-06 09:42:30 +00:00 committed by GitHub
parent 9a5e0c64fd
commit 53ac25d1c3
7 changed files with 253 additions and 0 deletions

View file

@ -0,0 +1,28 @@
package erratic
import (
"testing"
"github.com/mholt/caddy"
)
func TestSetupWhoami(t *testing.T) {
c := caddy.NewTestController("dns", `erratic {
drop
}`)
if err := setupErratic(c); err != nil {
t.Fatalf("Test 1, expected no errors, but got: %q", err)
}
c = caddy.NewTestController("dns", `erratic`)
if err := setupErratic(c); err != nil {
t.Fatalf("Test 2, expected no errors, but got: %q", err)
}
c = caddy.NewTestController("dns", `erratic {
drop -1
}`)
if err := setupErratic(c); err == nil {
t.Fatalf("Test 4, expected errors, but got: %q", err)
}
}