about summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorelioat <elioat@tilde.institute>2024-05-25 09:19:30 -0400
committerelioat <elioat@tilde.institute>2024-05-25 09:19:30 -0400
commit959d3ef474a2d9d8433d49fedfbc64e9d4b4190a (patch)
tree3dcf4c6c1065e97ae7bf5c39bfc217a35aca351a
parent57c3a65b4a297c3182406be73e2559198e8b1adc (diff)
downloadtour-959d3ef474a2d9d8433d49fedfbc64e9d4b4190a.tar.gz
*
-rw-r--r--rkt/bookmarks/.vscode/settings.json3
-rw-r--r--rkt/bookmarks/server.rkt26
2 files changed, 29 insertions, 0 deletions
diff --git a/rkt/bookmarks/.vscode/settings.json b/rkt/bookmarks/.vscode/settings.json
new file mode 100644
index 0000000..cad7657
--- /dev/null
+++ b/rkt/bookmarks/.vscode/settings.json
@@ -0,0 +1,3 @@
+{
+    "cmake.configureOnOpen": false
+}
\ No newline at end of file
diff --git a/rkt/bookmarks/server.rkt b/rkt/bookmarks/server.rkt
new file mode 100644
index 0000000..ae12dcc
--- /dev/null
+++ b/rkt/bookmarks/server.rkt
@@ -0,0 +1,26 @@
+#lang racket
+(require web-server/http/xexpr
+                 web-server/servlet
+                 web-server/servlet-env)
+
+(define (start request)
+    (case (request-method request)
+        [('GET) (handle-get request)]
+        [('POST) (handle-post request)]
+        [else (response/xexpr
+                        `(html (body (p "Method not supported"))))]))
+
+(define (handle-get request)
+    (response/xexpr
+     `(html (body (p "GET request received")))))
+
+(define (handle-post request)
+    (let* [(params (request-bindings request))
+                 (data (extract-binding/single 'data params))]
+        (response/xexpr
+         `(html (body (p ,(format "POST request received with data: ~a" data)))))))
+
+(serve/servlet start
+                             #:port 8080
+                             #:servlet-path "/api"
+                             #:servlet-regexp #rx"")
\ No newline at end of file