From 2236a0c60bed3f522c02932a0ae45fdb65d800c5 Mon Sep 17 00:00:00 2001 From: Yves Date: Thu, 13 Mar 2025 11:10:57 +0100 Subject: [PATCH] Add `get_ui_url` function --- src/ui_extension.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/ui_extension.cpp b/src/ui_extension.cpp index 10acbfd..43b2e83 100644 --- a/src/ui_extension.cpp +++ b/src/ui_extension.cpp @@ -55,6 +55,15 @@ std::string StopUIServerFunction(ClientContext &context) { : "UI server already stopped"; } +std::string GetUIURLFunction(ClientContext &context) { + if (!ui::HttpServer::Started()) { + throw ExecutorException("UI server not started"); + } + + auto server = ui::HttpServer::GetInstance(context); + return server->LocalUrl(); +} + void IsUIStartedTableFunc(ClientContext &context, TableFunctionInput &input, DataChunk &output) { if (!internal::ShouldRun(input)) { @@ -114,6 +123,7 @@ static void LoadInternal(DatabaseInstance &instance) { REGISTER_TF("start_ui", StartUIFunction); REGISTER_TF("start_ui_server", StartUIServerFunction); REGISTER_TF("stop_ui_server", StopUIServerFunction); + REGISTER_TF("get_ui_url", GetUIURLFunction); { TableFunction tf("ui_is_started", {}, IsUIStartedTableFunc, internal::SingleBoolResultBind,