diff options
| author | Alex Pooley <zuedev@gmail.com> | 2025-03-20 01:29:40 +0000 |
|---|---|---|
| committer | Alex Pooley <zuedev@gmail.com> | 2025-03-20 01:29:40 +0000 |
| commit | 321dd3640df173d0427b22cc536fe195c0dae37c (patch) | |
| tree | 394bb9954ef9be09026aafc414f754b4b6568907 /source/index.js | |
| parent | ee8d3549cb9dccc8b7fe839635c0ec3fa30c9109 (diff) | |
| download | zue.dev-321dd3640df173d0427b22cc536fe195c0dae37c.tar zue.dev-321dd3640df173d0427b22cc536fe195c0dae37c.tar.gz zue.dev-321dd3640df173d0427b22cc536fe195c0dae37c.tar.bz2 zue.dev-321dd3640df173d0427b22cc536fe195c0dae37c.tar.xz zue.dev-321dd3640df173d0427b22cc536fe195c0dae37c.zip | |
move back to vanilla
Diffstat (limited to 'source/index.js')
| -rw-r--r-- | source/index.js | 96 |
1 files changed, 51 insertions, 45 deletions
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", + }); + } + }, +}; |
