racket/collects/web-server/servlet/servlet-url.ss
Jay McCarthy 16f76ddefe Privatization
svn: r6436
2007-06-01 15:07:34 +00:00

25 lines
826 B
Scheme

(module servlet-url mzscheme
(require (lib "list.ss")
(lib "contract.ss")
(lib "url.ss" "net"))
(require "../private/request-structs.ss"
"../private/util.ss")
(define-struct servlet-url (url))
(define (servlet-url->url-string/no-continuation su)
(define in-url (servlet-url-url su))
(define first? (box #t))
(url->string
(url-replace-path
(lambda (ps)
(map (lambda (p/p)
(if (unbox first?)
(make-path/param (path/param-path p/p) empty)
p/p))
ps)))))
(define (request->servlet-url req)
(make-servlet-url (request-uri req)))
(provide/contract
[servlet-url->url-string/no-continuation (servlet-url? . -> . string?)]
[request->servlet-url (request? . -> . servlet-url?)]))