diff options
| author | Alex Pooley <zuedev@gmail.com> | 2025-03-19 05:13:20 +0000 |
|---|---|---|
| committer | Alex Pooley <zuedev@gmail.com> | 2025-03-19 05:13:20 +0000 |
| commit | a23540112583436b242307a229691b6a5beded71 (patch) | |
| tree | 976ef17c57b67c412deceb7fd2bf641695ee089f /source | |
| parent | b8139c49221d1df79e7db652ee0ce3760014b7ee (diff) | |
| download | zue.dev-a23540112583436b242307a229691b6a5beded71.tar zue.dev-a23540112583436b242307a229691b6a5beded71.tar.gz zue.dev-a23540112583436b242307a229691b6a5beded71.tar.bz2 zue.dev-a23540112583436b242307a229691b6a5beded71.tar.xz zue.dev-a23540112583436b242307a229691b6a5beded71.zip | |
remove ts
Diffstat (limited to 'source')
| -rw-r--r-- | source/index.js | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/source/index.js b/source/index.js new file mode 100644 index 0000000..c20041b --- /dev/null +++ b/source/index.js @@ -0,0 +1,60 @@ +import { Hono } from "hono"; +import { cors } from "hono/cors"; + +const app = new Hono(); + +// unlock cors for all routes +app.use("*", cors()); + +// return a simple message +app.get("/", (c) => { + return c.json({ + message: "Hello, World! :3", + }); +}); + +// return own status of the server +app.get("/status", (c) => { + return c.json({ + status: "ok", + }); +}); + +// return status of a given service +app.get("/status/:service", (c) => { + const { service } = c.req.param(); + + 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 c.json( + { + error: "unknown service", + }, + 400 + ); + } + + return c.json({ + status: "ok", + }); +}); + +export default app; |
