diff options
author | elioat <elioat@tilde.institute> | 2024-05-25 09:19:30 -0400 |
---|---|---|
committer | elioat <elioat@tilde.institute> | 2024-05-25 09:19:30 -0400 |
commit | 959d3ef474a2d9d8433d49fedfbc64e9d4b4190a (patch) | |
tree | 3dcf4c6c1065e97ae7bf5c39bfc217a35aca351a | |
parent | 57c3a65b4a297c3182406be73e2559198e8b1adc (diff) | |
download | tour-959d3ef474a2d9d8433d49fedfbc64e9d4b4190a.tar.gz |
*
-rw-r--r-- | rkt/bookmarks/.vscode/settings.json | 3 | ||||
-rw-r--r-- | rkt/bookmarks/server.rkt | 26 |
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 |