aboutsummaryrefslogtreecommitdiff
path: root/source/index.js
diff options
context:
space:
mode:
Diffstat (limited to 'source/index.js')
-rw-r--r--source/index.js96
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",
+ });
+ }
+ },
+};