---
check:
image: archlinux
cmds:
- "curl -sS -H 'X-Foo: abc' http://${SH4D0WUP_BOUND_ADDR}/"
- "curl -sS -H 'X-Foo: abc' http://${SH4D0WUP_BOUND_ADDR}/hello/world"
- curl -sS http://${SH4D0WUP_BOUND_ADDR}/addr
- curl -sS http://${SH4D0WUP_BOUND_ADDR}/all
- curl -sS http://${SH4D0WUP_BOUND_ADDR}/not-any
- curl -sS http://${SH4D0WUP_BOUND_ADDR}/c
selectors:
foo:
type: header
key: X-Foo
value: abc
localhost:
type: ipaddr
ipaddr: 127.0.0.1
leet:
type: ipaddr
ipaddr: 1.3.3.7
has-agent:
type: header
key: user-agent
all:
type: all
selectors:
- has-agent
- localhost
not-any:
type: not
selector:
type: any
selectors:
- has-agent
- leet
routes:
- type: static
selector: foo
args:
data: |
selector foo conditions matched
- path: /addr
type: static
selector: localhost
args:
data: |
request from localhost
- path: /addr
type: static
selector: leet
args:
data: |
request from very cool ip
- path: /addr
type: static
args:
data: |
request from unknown ip
- path: /all
type: static
selector: all
args:
data: |
selector all conditions matched
- path: /not-any
type: static
selector: not-any
args:
data: |
selector not-any conditions matched
- type: static
args:
data: |
catch-all