diff --git a/scheme/httpd/surflets/packages.scm b/scheme/httpd/surflets/packages.scm index b3102dc..bcb086d 100644 --- a/scheme/httpd/surflets/packages.scm +++ b/scheme/httpd/surflets/packages.scm @@ -180,7 +180,7 @@ (define-structure servlets servlets-interface (open servlet-handler/servlet httpd-responses - httpd-request ; HTTP-URL:SEARCH + httpd-requests ; HTTP-URL:SEARCH url ; REQUEST:URL parse-html-forms sxml-to-html ; SXML->HTML @@ -189,7 +189,6 @@ (subset srfi-13 (string-index)) sxml-tree-trans url - httpd-request define-record-types weak ;MAKE-WEAK-POINTER locks diff --git a/scheme/httpd/surflets/start-surflet-server b/scheme/httpd/surflets/start-surflet-server index f0f4abc..cf3eae9 100755 --- a/scheme/httpd/surflets/start-surflet-server +++ b/scheme/httpd/surflets/start-surflet-server @@ -193,7 +193,7 @@ exec scsh -lm $sunet/packages.scm -lm $ssax/lib/packages.scm -lm $sunet/httpd/se ; (cons "cgi-bin" (cgi-handler cgi-bin-dir)) (cons "source" (rooted-file-or-directory-handler servlet-dir)) (cons "img" (rooted-file-handler images-dir)) - (cons "servlet" (servlet-handler servlet-dir "/servlet/"))) + (cons "servlet" (servlet-handler servlet-dir))) (rooted-file-or-directory-handler htdocs-dir))))))))))) )) )) diff --git a/scheme/httpd/surflets/web-server/root/surflets/test.scm b/scheme/httpd/surflets/web-server/root/surflets/test.scm index e3c8479..7b2f1e5 100644 --- a/scheme/httpd/surflets/web-server/root/surflets/test.scm +++ b/scheme/httpd/surflets/web-server/root/surflets/test.scm @@ -1,6 +1,5 @@ (define-structure servlet servlet-interface - (open scsh - scheme + (open scheme-with-scsh servlets httpd-responses) (begin @@ -17,21 +16,34 @@ ,(make-submit-button)) (hr) (p (URL "/" "Return to main menu.")) - )))))) - (send-html/suspend - (lambda (continue) - `(html (body (h1 "Result") - ,(format #f "~s" (get-bindings req)) (br) - (URL ,continue "show results again") - (hr) - (p (URL "test.scm" "Test again.") (br) - (URL "/" "Return to main menu.")))))) + ))))) + (save-k #f) + (done? #f)) + + (call-with-current-continuation + (lambda (k) + (set! save-k k) + 13)) + + (if (not done?) + (begin + (send-html/suspend + (lambda (continue) + `(html (body (h1 "Result") + ,(format #f "~s" (get-bindings req)) (br) + (URL ,continue "show results again") + (hr) + (p (URL "test.scm" "Test again.") (br) + (URL "/" "Return to main menu.")))))) + + (set! done? #t) + (save-k 13)) - (send-html/finish - `(html (body (h1 "Result 2") - ,(format #f "~s" (get-bindings req)) - (hr) - (p (URL "test.scm" "Test again.") (br) - (URL "/" "Return to main menu."))))))) + (send-html/finish + `(html (body (h1 "Result 2") + ,(format #f "~s" (get-bindings req)) + (hr) + (p (URL "test.scm" "Test again.") (br) + (URL "/" "Return to main menu.")))))))) ))