aboutsummaryrefslogtreecommitdiff
path: root/entries/braxtonhall/express
diff options
context:
space:
mode:
Diffstat (limited to 'entries/braxtonhall/express')
-rw-r--r--entries/braxtonhall/express/index.js22
1 files changed, 22 insertions, 0 deletions
diff --git a/entries/braxtonhall/express/index.js b/entries/braxtonhall/express/index.js
new file mode 100644
index 0000000..2da6092
--- /dev/null
+++ b/entries/braxtonhall/express/index.js
@@ -0,0 +1,22 @@
+import { get } from "axios";
+import express from "express";
+
+const app = express();
+
+const getURL = (n) => `/fib?${new URLSearchParams({n})}`;
+
+app.get("/fib", async (res, req, next) => {
+ const {n} = req.params;
+ if (n <= 0) {
+ res.send(n).status(200);
+ } else {
+ const futures = [get(getURL(n - 1)), get(getURL(n - 2))];
+ const [nSub1, nSub2] = await Promise.all(futures);
+ res.send(nSub1 + nSub2).status(200);
+ }
+ return next();
+});
+
+app.start();
+
+// TODO... is this syntax correct???