:8080 {
    handle /health {
        respond 200
    }

    # ask.xn--2dk.xyz - Natural language to SQL TUI
    @ask_host {
        host ask.xn--2dk.xyz
    }
    @ask_ws {
        header Connection *Upgrade*
        header Upgrade websocket
    }
    handle @ask_host {
        reverse_proxy localhost:7682 {
            flush_interval -1
        }
    }

    # db.xn--2dk.xyz - DuckDB SQL shell
    handle /login {
        reverse_proxy 127.0.0.1:8081
    }

    handle /query {
        reverse_proxy 127.0.0.1:8081
    }

    @websocket {
        header Connection *Upgrade*
        header Upgrade websocket
    }

    handle @websocket {
        reverse_proxy localhost:7681 {
            flush_interval -1
        }
    }

    handle {
        forward_auth 127.0.0.1:8081 {
            uri /auth
            copy_headers Cookie
        }
        reverse_proxy localhost:7681 {
            flush_interval -1
        }
    }

}
