From 321dd3640df173d0427b22cc536fe195c0dae37c Mon Sep 17 00:00:00 2001 From: Alex Pooley Date: Thu, 20 Mar 2025 01:29:40 +0000 Subject: move back to vanilla --- source/index.js | 96 +++++++++++++++++++++------------------- source/library/service_status.js | 24 ---------- 2 files changed, 51 insertions(+), 69 deletions(-) delete mode 100644 source/library/service_status.js (limited to 'source') diff --git a/source/index.js b/source/index.js index 6dc9ab9..616c237 100644 --- a/source/index.js +++ b/source/index.js @@ -1,45 +1,51 @@ -import { Hono } from "hono"; -import { cors } from "hono/cors"; -import { prettyJSON } from "hono/pretty-json"; -import { requestId } from "hono/request-id"; - -import service_status from "./library/service_status"; - -const app = new Hono(); - -// enable cors for all routes -app.use(cors()); - -// pretty print json responses -app.use(prettyJSON()); - -// add a request id to all requests -app.use(requestId()); - -// return a simple hello world message -app.get("/", (context) => { - return context.json({ - message: "Hello, World! :3", - }); -}); - -// return status of api itself -app.get("/status", (context) => { - return context.json({ - status: "ok", - }); -}); - -// return status of a given service -app.get("/status/:service", (context) => { - const { service } = context.req.param(); - - if (!service_status(service)) - return context.json({ error: "unknown service" }, 400); - - return context.json({ - status: "ok", - }); -}); - -export default app; +export default { + async fetch(request, environment, context) { + const url = new URL(request.url); + + switch (url.pathname) { + // return a simple hello world message + case "/": + return Response.json({ + message: "Hello, World! :3", + }); + + // return status of a given service + case "/status": + const service = url.searchParams.get("service"); + + const acceptedServices = [ + "dns", + "load-balancer", + "cdn", + "functions", + "mysql-cluster", + "mongodb-cluster", + "redis-cluster", + "elasticsearch-cluster", + "git-connector", + "job-runners", + "container-registry", + "kubernetes-cluster", + "bare-metal-servers", + "game-server-api", + "anti-ddos-protection", + "anti-cheat-api", + ]; + + if (acceptedServices.includes(service)) + return Response.json({ + status: "ok", + }); + + return Response.json({ + error: `service not found`, + }); + + // default case + default: + return Response.json({ + error: "not found", + }); + } + }, +}; diff --git a/source/library/service_status.js b/source/library/service_status.js deleted file mode 100644 index 96c02b2..0000000 --- a/source/library/service_status.js +++ /dev/null @@ -1,24 +0,0 @@ -export default (service) => { - const acceptedServices = [ - "dns", - "load-balancer", - "cdn", - "functions", - "mysql-cluster", - "mongodb-cluster", - "redis-cluster", - "elasticsearch-cluster", - "git-connector", - "job-runners", - "container-registry", - "kubernetes-cluster", - "bare-metal-servers", - "game-server-api", - "anti-ddos-protection", - "anti-cheat-api", - ]; - - if (acceptedServices.includes(service)) return true; - - return false; -}; -- cgit v1.2.3