racket/collects/web-server/servlet-structs.ss
Jay McCarthy e123925d31 contracts
svn: r3559
2006-06-30 20:40:11 +00:00

42 lines
1.1 KiB
Scheme

(module servlet-structs mzscheme
(require (lib "contract.ss")
(lib "xml.ss" "xml"))
(require "request-structs.ss"
"response-structs.ss")
(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?)
(define response-generator?
(k-url? . -> . servlet-response?))
(define url-transform?
(k-url? . -> . k-url?))
(define expiration-handler?
(or/c false/c
(request? . -> . response?)))
(define embed/url?
(((request? . -> . any/c)) (expiration-handler?) . opt-> . string?))
(provide/contract
[servlet-response? contract?]
[xexpr/callback? (any/c . -> . boolean?)]
[response-generator? contract?]
[k-url? (any/c . -> . boolean?)]
[url-transform? contract?]
[expiration-handler? contract?]
[embed/url? contract?]))