From aa2a889a185df35b7fffcd97e483b2b7022dc00f Mon Sep 17 00:00:00 2001 From: Jay McCarthy Date: Wed, 13 Jun 2007 16:11:48 +0000 Subject: [PATCH] Removing send/suspend/callback svn: r6628 --- .../servlets/examples/add-call.ss | 26 ------------------- .../web-server/docs/reference/servlet.scrbl | 18 ------------- .../web-server/servlet/servlet-structs.ss | 12 +-------- collects/web-server/servlet/web.ss | 24 +++-------------- .../dispatchers/dispatch-servlets-test.ss | 2 -- collects/web-server/tests/servlet/web-test.ss | 13 +--------- 6 files changed, 5 insertions(+), 90 deletions(-) delete mode 100644 collects/web-server/default-web-root/servlets/examples/add-call.ss diff --git a/collects/web-server/default-web-root/servlets/examples/add-call.ss b/collects/web-server/default-web-root/servlets/examples/add-call.ss deleted file mode 100644 index bafcfc620a..0000000000 --- a/collects/web-server/default-web-root/servlets/examples/add-call.ss +++ /dev/null @@ -1,26 +0,0 @@ -(module add-call mzscheme - (require (lib "servlet.ss" "web-server")) - (provide (all-defined)) - (define interface-version 'v1) - (define timeout +inf.0) - - ; request-number : str -> num - (define (request-number which-number) - (send/suspend/callback - `(html (head (title "Enter a Number to Add")) - (body ([bgcolor "white"]) - (form ([action ,(lambda (request) - (string->number - (extract-binding/single - 'number - (request-bindings request))))] - [method "post"]) - "Enter the " ,which-number " number to add: " - (input ([type "text"] [name "number"] [value ""])) - (input ([type "submit"] [name "enter"] [value "Enter"]))))))) - - (define (start initial-request) - `(html (head (title "Sum")) - (body ([bgcolor "white"]) - (p "The sum is " - ,(number->string (+ (request-number "first") (request-number "second")))))))) \ No newline at end of file diff --git a/collects/web-server/docs/reference/servlet.scrbl b/collects/web-server/docs/reference/servlet.scrbl index 9a84ce733c..975a1f3e65 100644 --- a/collects/web-server/docs/reference/servlet.scrbl +++ b/collects/web-server/docs/reference/servlet.scrbl @@ -56,12 +56,6 @@ provides: for use in servlets. @defthing[servlet-response? contract?]{Equivalent to @scheme[any/c].} - -@; XXX Remove callbacks -@defthing[xexpr/callback? contract?]{ - Checks if the value matches @scheme[xexpr?], except that embedded - procedures are allowed. -} @defthing[k-url? contract?]{Equivalent to @scheme[string?].} @@ -282,18 +276,6 @@ servlet developer. @scheme[send/suspend/dispatch]. } -@; XXX Remove -@defproc[(xexpr/callback->xexpr [embed/url embed/url?] - [xexpr/c xexpr/callback?]) - xexpr?]{ - Replaces the procedures in @scheme[xexpr/c] with URLs through @scheme[embed/url]. -} - -@defproc[(send/suspend/callback [xexpr/c xexpr/callback?]) - any/c]{ - Calls @scheme[send/suspend/dispatch] and @scheme[xexpr/callback->xexpr]. -} - @defproc[(redirect/get) request?]{ Calls @scheme[send/suspend] with @scheme[redirect-to]. diff --git a/collects/web-server/servlet/servlet-structs.ss b/collects/web-server/servlet/servlet-structs.ss index 478420979f..73c67733a2 100644 --- a/collects/web-server/servlet/servlet-structs.ss +++ b/collects/web-server/servlet/servlet-structs.ss @@ -6,16 +6,7 @@ (define servlet-response? any/c) - - (define (xexpr/callback? x) - (correct-xexpr? x - (lambda () #t) - (lambda (exn) - (if (procedure? (exn:invalid-xexpr-code exn)) - #t - (begin ((error-display-handler) (exn-message exn) exn) - #f))))) - + (define k-url? string?) @@ -34,7 +25,6 @@ (provide/contract [servlet-response? contract?] - [xexpr/callback? (any/c . -> . boolean?)] [response-generator? contract?] [k-url? (any/c . -> . boolean?)] [url-transform? contract?] diff --git a/collects/web-server/servlet/web.ss b/collects/web-server/servlet/web.ss index 0c5b187421..083eec0b76 100644 --- a/collects/web-server/servlet/web.ss +++ b/collects/web-server/servlet/web.ss @@ -65,21 +65,11 @@ (list* (make-path/param (path/param-path (first old-path)) (list new-param-str)) (rest old-path)))) - in-url))) - - ;; replace-procedures : (proc -> url) xexpr/callbacks? -> xexpr? - ;; Change procedures to the send/suspend of a k-url - (define (xexpr/callback->xexpr p->a p-exp) - (cond - [(list? p-exp) (map (lambda (p-e) (xexpr/callback->xexpr p->a p-e)) - p-exp)] - [(procedure? p-exp) (p->a p-exp)] - [else p-exp])) + in-url))) ;; XXX Weak contracts: the input is checked in output-response, and a message is ;; sent directly to the client (Web browser) instead of the terminal/log. (provide/contract - [xexpr/callback->xexpr (embed/url? xexpr/callback? . -> . xexpr?)] [current-url-transform parameter?] [current-servlet-continuation-expiration-handler parameter?] [redirect/get (-> request?)] @@ -90,8 +80,7 @@ [send/finish (any/c . -> . void?)] [send/suspend ((response-generator?) (expiration-handler?) . opt-> . request?)] [send/forward ((response-generator?) (expiration-handler?) . opt-> . request?)] - [send/suspend/dispatch ((embed/url? . -> . servlet-response?) . -> . any/c)] - [send/suspend/callback (xexpr/callback? . -> . any/c)]) + [send/suspend/dispatch ((embed/url? . -> . servlet-response?) . -> . any/c)]) ;; ************************************************************ ;; EXPORTS @@ -176,14 +165,7 @@ (k0 (lambda () (proc new-request))))))))) servlet-prompt)]) (thunk))) - - ;; send/suspend/callback : xexpr/callback? -> void - ;; send/back a response with callbacks in it; send/suspend those callbacks. - (define (send/suspend/callback p-exp) - (send/suspend/dispatch - (lambda (embed/url) - (xexpr/callback->xexpr embed/url p-exp)))) - + ;; ************************************************************ ;; HIGHER-LEVEL EXPORTS diff --git a/collects/web-server/tests/dispatchers/dispatch-servlets-test.ss b/collects/web-server/tests/dispatchers/dispatch-servlets-test.ss index 511acda1d0..8fb2971575 100644 --- a/collects/web-server/tests/dispatchers/dispatch-servlets-test.ss +++ b/collects/web-server/tests/dispatchers/dispatch-servlets-test.ss @@ -72,8 +72,6 @@ (build-path example-servlets "add-v2.ss")) (test-add-two-numbers "add-ssd.ss - send/suspend/dispatch" (build-path example-servlets "add-ssd.ss")) - (test-add-two-numbers "add-call.ss - send/suspend/callback" - (build-path example-servlets "add-call.ss")) (test-equal? "count.ss - state" (let* ([d (mkd (build-path example-servlets "count.ss"))] [ext (lambda (c) diff --git a/collects/web-server/tests/servlet/web-test.ss b/collects/web-server/tests/servlet/web-test.ss index 8a6396a76d..82c1070093 100644 --- a/collects/web-server/tests/servlet/web-test.ss +++ b/collects/web-server/tests/servlet/web-test.ss @@ -15,15 +15,4 @@ (test-false "not k-url" (continuation-url? url0)) (test-equal? "identity" (continuation-url? (string->url (embed-ids (list 1 2 3) url0))) - (list 1 2 3))) - - (test-suite - "xexpr/callback->xexpr" - - (test-equal? "Simple" - (xexpr/callback->xexpr - (lambda _ "#") - `(html (head (title "Hello!")) - (body (a ([href ,(lambda (request) "Hey!")]) "A link")))) - `(html (head (title "Hello!")) - (body (a ([href "#"]) "A link")))))))) \ No newline at end of file + (list 1 2 3)))))) \ No newline at end of file