Expand description
Checks on what tenants send, before any of it is stored.
Everything a tenant names – a domain, a backend address, a header – ends
up somewhere it is trusted: a unique index, a certificate, a connection the
proxy opens on the tenant’s behalf. The rules live here, in one place, so
that every path a value can enter by applies the same ones. Two spellings of
one rule is how VICTIM.test came to be registrable alongside
victim.test.
Structs§
- Reserved
Domains - Names that are never a tenant’s to claim.
Functions§
- is_
forbidden_ address - Whether the proxy must refuse to connect to this address on a tenant’s behalf.
- normalize_
domain - The canonical form of a domain name, or why it cannot be one.
- validate_
add_ headers - Check headers a route adds: valid names and values, none of them protected.
- validate_
backend_ address - Check a tenant backend’s
host:port, returning it in canonical form. - validate_
health_ check_ path - Check an upstream’s health-check path: absolute, and nothing that could break out of the request line.
- validate_
remove_ headers - Check header names a route removes.
- validate_
resource_ name - Check a name a tenant gives a resource: present, and fits its column.
- validate_
route_ match - Check a route’s path pattern and methods.
- validate_
scheme - Check a backend’s scheme. Only
httpandhttpsmean anything.