From 68281378a25afd3678dbbf03a7a008b8f53a5816 Mon Sep 17 00:00:00 2001 From: Jeff Raymakers Date: Tue, 25 Feb 2025 10:27:33 -0800 Subject: [PATCH] add info endpoint --- src/http_server.cpp | 12 ++++++++++++ src/include/http_server.hpp | 3 ++- 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/src/http_server.cpp b/src/http_server.cpp index c3ab5f5..cde4000 100644 --- a/src/http_server.cpp +++ b/src/http_server.cpp @@ -133,6 +133,9 @@ shared_ptr HttpServer::LockDatabaseInstance() { } void HttpServer::Run() { + server.Get("/info", [&](const httplib::Request &req, httplib::Response &res) { + HandleGetInfo(req, res); + }); server.Get("/localEvents", [&](const httplib::Request &req, httplib::Response &res) { HandleGetLocalEvents(req, res); @@ -161,6 +164,15 @@ void HttpServer::Run() { server.listen("localhost", local_port); } +void HttpServer::HandleGetInfo(const httplib::Request &req, + httplib::Response &res) { + res.set_header("Access-Control-Allow-Origin", "*"); + res.set_header("X-DuckDB-Version", DuckDB::LibraryVersion()); + res.set_header("X-DuckDB-Platform", DuckDB::Platform()); + res.set_header("X-DuckDB-UI-Extension-Version", UI_EXTENSION_VERSION); + res.set_content("", "text/plain"); +} + void HttpServer::HandleGetLocalEvents(const httplib::Request &req, httplib::Response &res) { res.set_chunked_content_provider( diff --git a/src/include/http_server.hpp b/src/include/http_server.hpp index de26290..c53d471 100644 --- a/src/include/http_server.hpp +++ b/src/include/http_server.hpp @@ -9,8 +9,8 @@ #include #include -#include "watcher.hpp" #include "event_dispatcher.hpp" +#include "watcher.hpp" namespace httplib = duckdb_httplib_openssl; @@ -43,6 +43,7 @@ private: void UpdateDatabaseInstance(shared_ptr context_db); // Http handlers + void HandleGetInfo(const httplib::Request &req, httplib::Response &res); void HandleGetLocalEvents(const httplib::Request &req, httplib::Response &res); void HandleGetLocalToken(const httplib::Request &req, httplib::Response &res);