api.example.com {
    handle /v1/* {
        reverse_proxy users:8080
    }
    handle_path /admin/* {
        basic_auth { admin $2y$x }
        reverse_proxy admin:3000
    }
    @api {
        method GET POST
        path /api/*
    }
    handle @api {
        reverse_proxy api:8000
    }
    redir /old /new permanent

    # Matcher-less forms. None of these names a route: the first argument is a
    # response body, a redirect destination or the block's opening brace.
    respond "Hello, world!"
    redir https://www.example.com{uri} permanent
    handle {
        respond 404
    }
    route {
        file_server
    }
}
