Created
April 6, 2012 22:44
-
-
Save rahulkmr/2323665 to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#lang web-server | |
(require web-server/servlet-env) | |
(define-syntax page | |
(syntax-rules () | |
[(page x ...) | |
(response/xexpr `(html (body ,x ...)))])) | |
(define (ask action kont-field msg) | |
(page | |
`(form [(action ,(url->string action)) (method "post")] | |
,msg | |
,kont-field | |
(input [(name "get")]) | |
(input [(type "submit")])))) | |
(define (get req field) | |
(extract-binding/single field (request-bindings req))) | |
(define (challenge req) | |
(define ret-req (send/suspend/hidden (lambda (k-url kont-field) | |
(ask k-url kont-field "Your name: ")))) | |
(define name (get ret-req 'get)) | |
(send/suspend (lambda (k-url) | |
(page `(a ((href ,k-url)) "Click here")))) | |
(page "Hi " name)) | |
(define (start req) | |
(challenge req)) | |
(serve/servlet start #:port 7070 #:servlet-path "/" #:launch-browser? #f | |
#:stateless? #t) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment