[plt-scheme] unit/sig servlets and the repl

From: Bob McCormick (bobm at adt.com)
Date: Wed Dec 22 17:20:44 EST 2004

Is it possible to use the repl to debug/test servlets?    For example, 
if load the add.ss example servlet (reproduced below) into DrScheme and 
click "Run", trying to call the "request-number" function from the repl 
gives the error  "reference to undefined identifier: request-number".

Is there a trick I'm missing to be able to use the REPL to 
interactively debug and test servlets?  Should I use the  module based 
servlet interface instead?

----------- add.ss (from the servlet/examples directory)---------
(require (lib "unitsig.ss")
          (lib "servlet-sig.ss" "web-server")
          (lib "servlet-helpers.ss" "web-server")
          (lib "date.ss"))

(unit/sig () (import servlet^)

   ; request-number : str -> num
   (define (request-number which-number)
     (string->number
      (extract-binding/single
       'number
       (request-bindings (send/suspend (build-request-page 
which-number))))))

   ; build-request-page : str -> str -> response
   (define (build-request-page which-number)
     (lambda (k-url)
       `(html (head (title "Enter a Number to Add"))
              (body ([bgcolor "white"])
                    (form ([action ,k-url] [method "post"])
                          "Enter the " ,which-number " number to add: "
                          (input ([type "text"] [name "number"] [value 
""]))
                          (input ([type "submit"] [name "enter"] [value 
"Enter"])))))))

   `(html (head (title "Sum"))
          (body ([bgcolor "white"])
                (p "The sum is "
	          ,(number->string (+ (request-number "first") (request-number 
"second")))))))



Posted on the users mailing list.