From bf1c66ffd8686f9fb78210c002e21cfa27a33504 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Wed, 22 May 2019 23:11:06 +0200 Subject: Server add POST body parameters, and state forwarding. --- module/server/test.scm | 23 +++++++++-------------- 1 file changed, 9 insertions(+), 14 deletions(-) (limited to 'module/server/test.scm') diff --git a/module/server/test.scm b/module/server/test.scm index 33951695..f28b1152 100644 --- a/module/server/test.scm +++ b/module/server/test.scm @@ -12,15 +12,14 @@ (server macro) (ice-9 iconv) + (srfi srfi-88) (sxml simple) (ice-9 ftw)) -(define *name* "") - -(define (form-page) +(define (form-page name) `(div - (p "hello" ,*name*) + (p "Hello " ,name) (form (@ (action "/form") (method POST)) (input (@ (type text) @@ -42,18 +41,13 @@ (GET "/form" () (return '((content-type text/html)) - (sxml->xml-string (form-page)))) - - (POST "/form" () - (when (memv 'application/x-www-form-urlencoded (assoc-ref r:headers 'content-type)) - (apply (lambda* (#:key name #:allow-other-keys) - (format #t "*name* := [~a] Received [~a]~%" *name* name) - (set! *name* name)) - (parse-query (uri-decode (bytevector->string body "UTF-8"))))) + (sxml->xml-string (form-page state)))) + + (POST "/form" (name) (return (build-response #:code 303 #:headers `((location . ,(string->uri-reference "/form")))) - "")) + "" name)) (GET "/ls" () @@ -77,4 +71,5 @@ (call-with-input-file (string-append "./" file) (@ (ice-9 rdelim) read-string)))))) -(run-server routes) +(run-server routes 'http '() "Default Name") + -- cgit v1.2.3