From fdce8405cd03ad38b2fb87a609a3df541ce56b57 Mon Sep 17 00:00:00 2001 From: Victor Westerlund Date: Sun, 5 Apr 2026 12:18:37 +0200 Subject: [PATCH] feat: add `/ping` public API endpoint (#71) This PR adds a new public API endpoint `/ping` which is more of an endpoint for debugging. It returns all search parameters, JSON request body, and request headers. Example response: ```json { "ping": "pong", "GET": { "foo": "bar" }, "POST": [], "HEADERS": { "Te": "trailers", "Priority": "u=0, i", "Sec-Fetch-User": "?1", "Sec-Fetch-Site": "none", "Sec-Fetch-Mode": "navigate", "Sec-Fetch-Dest": "document", "Upgrade-Insecure-Requests": "1", "Sec-Gpc": "1", "Accept-Encoding": "gzip, deflate, br, zstd", "Accept-Language": "en-US,en;q=0.5", "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8", "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:144.0) Gecko/20100101 Firefox/144.0", "Host": "local.vlw.se:44302", "Content-Length": "", "Content-Type": "" }, "datetime": { "date": "2026-03-29 11:20:30.775397", "timezone_type": 3, "timezone": "UTC" } } ``` Reviewed-on: https://codeberg.org/vlw/vlw.se/pulls/71 --- api/ping/GET.php | 23 +++++++++++++++++++++++ src/Database/Seeds/data/vlw_reflect.sql | 2 ++ 2 files changed, 25 insertions(+) create mode 100644 api/ping/GET.php diff --git a/api/ping/GET.php b/api/ping/GET.php new file mode 100644 index 0000000..adceea6 --- /dev/null +++ b/api/ping/GET.php @@ -0,0 +1,23 @@ + "pong", + "GET" => $_GET, + "POST" => $_POST, + "HEADERS" => getallheaders(), + "datetime" => new DateTimeImmutable(), + ]); + } + } diff --git a/src/Database/Seeds/data/vlw_reflect.sql b/src/Database/Seeds/data/vlw_reflect.sql index 14778f6..b8406fa 100644 --- a/src/Database/Seeds/data/vlw_reflect.sql +++ b/src/Database/Seeds/data/vlw_reflect.sql @@ -10,6 +10,7 @@ SET time_zone = "+00:00"; TRUNCATE TABLE `acl`; INSERT INTO `acl` (`ref_group`, `ref_endpoint`, `method`) VALUES +(NULL, 'ping', 'GET'), (NULL, 'coffee', 'GET'), (NULL, 'languages', 'GET'), (NULL, 'update', 'GET'), @@ -19,6 +20,7 @@ INSERT INTO `acl` (`ref_group`, `ref_endpoint`, `method`) VALUES TRUNCATE TABLE `endpoints`; INSERT INTO `endpoints` (`id`, `active`) VALUES +('ping', 1), ('coffee', 1), ('languages', 1), ('update', 1),