From 8605d75165c865f688f9a6fb68c48de1ef8a23ee Mon Sep 17 00:00:00 2001 From: David Florness Date: Sat, 9 Nov 2019 15:51:01 -0700 Subject: [PATCH] I can list candidates from the server --- server.rkt | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 server.rkt diff --git a/server.rkt b/server.rkt new file mode 100644 index 0000000..9971f38 --- /dev/null +++ b/server.rkt @@ -0,0 +1,34 @@ +#lang racket +(require web-server/dispatch + web-server/servlet + web-server/servlet-env + web-server/http) +(require json) + +(define cands (list "ohea" "rtsn" "qfuy")) + +; how this is not a provided function is beyond me +(define/contract (response/json jsexpr) + (-> jsexpr? response?) + (response/full + 200 #f (current-seconds) #"application/json" + empty (list (jsexpr->bytes jsexpr)))) + +(define (candidates req) + (response/json cands)) + +(define (vote req) + (response/xexpr + '(html (body (p "you're going to vote"))))) + +(define-values (dispatcher url-generator) + (dispatch-rules + [("candidates") candidates] + [("vote") vote] + [else candidates])) + +(serve/servlet dispatcher + #:port 5598 + #:command-line? #f + #:servlet-path "" + #:servlet-regexp #rx"") -- 2.38.4