diff --git a/collects/web-server/dispatchers/filesystem-map.ss b/collects/web-server/dispatchers/filesystem-map.ss index f99b5a4483..3bfb42e533 100644 --- a/collects/web-server/dispatchers/filesystem-map.ss +++ b/collects/web-server/dispatchers/filesystem-map.ss @@ -4,8 +4,7 @@ (lib "contract.ss")) (require "../private/util.ss") (define url-path? - ; XXX should be (listof path-element?) - ((url?) . ->* . (path? list?))) + ((url?) . ->* . (path? (listof path-element?)))) (provide/contract [url-path? contract?] diff --git a/collects/web-server/docs/reference/private.scrbl b/collects/web-server/docs/reference/private.scrbl index f71a9a8e5b..8ee1be7a43 100644 --- a/collects/web-server/docs/reference/private.scrbl +++ b/collects/web-server/docs/reference/private.scrbl @@ -282,7 +282,7 @@ needs. They are provided by @file{private/util.ss}. @subsection{Contracts} @defthing[port-number? contract?]{Equivalent to @scheme[(between/c 1 65535)].} -@defthing[path-element? contract?]{Equivalent to @scheme[(or/c path? (symbols 'up 'same))].} +@defthing[path-element? contract?]{Equivalent to @scheme[(or/c string? path? (symbols 'up 'same))].} @subsection{Lists} @defproc[(list-prefix? [l list?] diff --git a/collects/web-server/private/util.ss b/collects/web-server/private/util.ss index bec82aa7c5..96731e9209 100644 --- a/collects/web-server/private/util.ss +++ b/collects/web-server/private/util.ss @@ -7,7 +7,7 @@ (lib "xml.ss" "xml") (lib "url.ss" "net")) (define path-element? - (or/c path? (symbols 'up 'same))) + (or/c string? path? (symbols 'up 'same))) (define port-number? (between/c 1 65535))