diff --git a/collects/web-server/dispatchers/dispatch-files.ss b/collects/web-server/dispatchers/dispatch-files.ss index ce375617ab..f73631a9be 100644 --- a/collects/web-server/dispatchers/dispatch-files.ss +++ b/collects/web-server/dispatchers/dispatch-files.ss @@ -15,7 +15,7 @@ [read-range-header (-> (listof header?) (or/c (listof pair?) false/c))] [make (->* (#:url->path url->path/c) - (#:path->mime-type (path? . -> . bytes?) + (#:path->mime-type (path-string? . -> . bytes?) #:indices (listof path-string?)) dispatcher/c)]) diff --git a/collects/web-server/dispatchers/dispatch-passwords.ss b/collects/web-server/dispatchers/dispatch-passwords.ss index 6cda02c90c..e00c6df832 100644 --- a/collects/web-server/dispatchers/dispatch-passwords.ss +++ b/collects/web-server/dispatchers/dispatch-passwords.ss @@ -22,7 +22,7 @@ [make-basic-denied?/path (authorized?/c . -> . denied?/c)] [password-file->authorized? - (path? . -> . (values (-> void) + (path-string? . -> . (values (-> void) authorized?/c))]) (define interface-version 'v1) diff --git a/collects/web-server/dispatchers/filesystem-map.ss b/collects/web-server/dispatchers/filesystem-map.ss index 346733be88..7db88bcab2 100644 --- a/collects/web-server/dispatchers/filesystem-map.ss +++ b/collects/web-server/dispatchers/filesystem-map.ss @@ -8,7 +8,7 @@ (provide/contract [url->path/c contract?] - [make-url->path (path? . -> . url->path/c)] + [make-url->path (path-string? . -> . url->path/c)] [make-url->valid-path (url->path/c . -> . url->path/c)] [filter-url->path (regexp? url->path/c . -> . url->path/c)]) diff --git a/collects/web-server/http/response.ss b/collects/web-server/http/response.ss index 14f7e50d8b..e48de3f692 100644 --- a/collects/web-server/http/response.ss +++ b/collects/web-server/http/response.ss @@ -15,7 +15,7 @@ (provide/contract [rename ext:output-response output-response (connection? response? . -> . void)] [rename ext:output-response/method output-response/method (connection? response? symbol? . -> . void)] - [rename ext:output-file output-file (connection? path? symbol? bytes? (or/c pair? false/c) . -> . void)]) + [rename ext:output-file output-file (connection? path-string? symbol? bytes? (or/c pair? false/c) . -> . void)]) ;; Table 1. head responses: ; ------------------------------------------------------------------------------ diff --git a/collects/web-server/insta/insta.ss b/collects/web-server/insta/insta.ss index 13059eb40d..49ac1ca2cd 100644 --- a/collects/web-server/insta/insta.ss +++ b/collects/web-server/insta/insta.ss @@ -15,10 +15,7 @@ (provide/contract [static-files-path (path-string? . -> . void?)]) (define (static-files-path path) - (set! extra-files-path - (if (path? path) - path - (string->path path)))) + (set! extra-files-path path)) (provide/contract [no-web-browser (-> void)]) diff --git a/collects/web-server/lang/file-box.ss b/collects/web-server/lang/file-box.ss index 7b2eb7c058..6ec9c4841b 100644 --- a/collects/web-server/lang/file-box.ss +++ b/collects/web-server/lang/file-box.ss @@ -24,7 +24,7 @@ (provide/contract [file-box? (any/c . -> . boolean?)] - [file-box (path? serializable? . -> . file-box?)] + [file-box (path-string? serializable? . -> . file-box?)] [file-unbox (file-box? . -> . serializable?)] [file-box-set? (file-box? . -> . boolean?)] [file-box-set! (file-box? serializable? . -> . void)]) diff --git a/collects/web-server/private/configure.ss b/collects/web-server/private/configure.ss index 627adc0f5e..4a014ba06d 100644 --- a/collects/web-server/private/configure.ss +++ b/collects/web-server/private/configure.ss @@ -742,7 +742,7 @@ [copy-conf (lambda (from to) (let ([to-path (build-path-unless-absolute conf to)]) - ; more here - check existance of from path? + ; more here - check existance of from path (copy-file* (build-path from-conf from) to-path)))]) (copy-conf "passwords-refresh.html" (messages-passwords-refreshed messages)) (copy-conf "servlet-refresh.html" (messages-servlets-refreshed messages)) diff --git a/collects/web-server/private/md5-store.ss b/collects/web-server/private/md5-store.ss index c15a66ac92..b7381f062e 100644 --- a/collects/web-server/private/md5-store.ss +++ b/collects/web-server/private/md5-store.ss @@ -2,7 +2,7 @@ (require file/md5) (provide/contract - [md5-home (parameter/c path?)] + [md5-home (parameter/c path-string?)] [md5-store (bytes? . -> . bytes?)] [md5-lookup (bytes? . -> . bytes?)]) diff --git a/collects/web-server/private/servlet.ss b/collects/web-server/private/servlet.ss index 482f394fff..74946f8111 100644 --- a/collects/web-server/private/servlet.ss +++ b/collects/web-server/private/servlet.ss @@ -21,7 +21,7 @@ ([custodian custodian?] [namespace namespace?] [manager manager?] - [directory path?] + [directory path-string?] [handler (request? . -> . response?)])] [struct execution-context ([request request?])] diff --git a/collects/web-server/private/util.ss b/collects/web-server/private/util.ss index 0594e71877..8d03dcd060 100644 --- a/collects/web-server/private/util.ss +++ b/collects/web-server/private/util.ss @@ -7,7 +7,7 @@ xml/xml net/url) (define path-element? - (or/c string? path? (symbols 'up 'same))) + (or/c path-string? (symbols 'up 'same))) (define port-number? (between/c 1 65535)) @@ -16,13 +16,13 @@ [port-number? contract?] [pretty-print-invalid-xexpr (exn:invalid-xexpr? any/c . -> . void)] [url-replace-path (((listof path/param?) . -> . (listof path/param?)) url? . -> . url?)] - [explode-path* (path? . -> . (listof path-element?))] - [path-without-base (path? path? . -> . (listof path-element?))] + [explode-path* (path-string? . -> . (listof path-element?))] + [path-without-base (path-string? path-string? . -> . (listof path-element?))] [list-prefix? (list? list? . -> . boolean?)] [strip-prefix-ups ((listof path-element?) . -> . (listof path-element?))] [url-path->string ((listof path/param?) . -> . string?)] [network-error ((symbol? string?) (listof any/c) . ->* . (void))] - [directory-part (path? . -> . path?)] + [directory-part (path-string? . -> . path?)] [lowercase-symbol! ((or/c string? bytes?) . -> . symbol?)] [exn->string ((or/c exn? any/c) . -> . string?)] [build-path-unless-absolute (path-string? path-string? . -> . path?)] diff --git a/collects/web-server/scribblings/dispatchers.scrbl b/collects/web-server/scribblings/dispatchers.scrbl index 1f7ffe3c0d..7c95ea93be 100644 --- a/collects/web-server/scribblings/dispatchers.scrbl +++ b/collects/web-server/scribblings/dispatchers.scrbl @@ -99,7 +99,7 @@ URLs to paths on the filesystem. The returned @scheme[path?] is the path on disk. The list is the list of path elements that correspond to the path of the URL.} -@defproc[(make-url->path (base path?)) +@defproc[(make-url->path (base path-string?)) url->path/c]{ The @scheme[url-path/c] returned by this procedure considers the root URL to be @scheme[base]. It ensures that @scheme[".."]s in the URL diff --git a/collects/web-server/scribblings/private.scrbl b/collects/web-server/scribblings/private.scrbl index 7e84ba30a8..aea6a5ef29 100644 --- a/collects/web-server/scribblings/private.scrbl +++ b/collects/web-server/scribblings/private.scrbl @@ -293,13 +293,13 @@ functions. @filepath{private/mime-types.ss} provides function for dealing with @filepath{mime.types} files. -@defproc[(read-mime-types [p path?]) +@defproc[(read-mime-types [p path-string?]) (hash-table/c symbol? bytes?)]{ Reads the @filepath{mime.types} file from @scheme[p] and constructs a hash table mapping extensions to MIME types. } -@defproc[(make-path->mime-type [p path?]) +@defproc[(make-path->mime-type [p path-string?]) (path? . -> . bytes?)]{ Uses a @scheme[read-mime-types] with @scheme[p] and constructs a function from paths to their MIME type. @@ -371,7 +371,7 @@ needs. They are provided by @filepath{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 string? path? (symbols 'up 'same))].} +@defthing[path-element? contract?]{Equivalent to @scheme[(or/c path-string? (symbols 'up 'same))].} @subsection{Lists} @defproc[(list-prefix? [l list?] @@ -395,19 +395,19 @@ needs. They are provided by @filepath{private/util.ss}. } @subsection{Paths} -@defproc[(explode-path* [p path?]) +@defproc[(explode-path* [p path-string?]) (listof path-element?)]{ Like @scheme[normalize-path], but does not resolve symlinks. } -@defproc[(path-without-base [base path?] - [p path?]) +@defproc[(path-without-base [base path-string?] + [p path-string?]) (listof path-element?)]{ Returns, as a list, the portion of @scheme[p] after @scheme[base], assuming @scheme[base] is a prefix of @scheme[p]. } -@defproc[(directory-part [p path?]) +@defproc[(directory-part [p path-string?]) path?]{ Returns the directory part of @scheme[p], returning @scheme[(current-directory)] if it is relative. diff --git a/collects/web-server/scribblings/running.scrbl b/collects/web-server/scribblings/running.scrbl index 89c95c415b..89be17510a 100644 --- a/collects/web-server/scribblings/running.scrbl +++ b/collects/web-server/scribblings/running.scrbl @@ -43,7 +43,7 @@ The following API is provided to customize the server instance: @onscreen["Run"]. } -@defproc[(static-files-path [path path?]) void]{ +@defproc[(static-files-path [path path-string?]) void]{ This instructs the Web server to serve static files, such as stylesheet and images, from @scheme[path]. } diff --git a/collects/web-server/scribblings/servlet-env.scrbl b/collects/web-server/scribblings/servlet-env.scrbl index c4c6fd557c..f17a0f8794 100644 --- a/collects/web-server/scribblings/servlet-env.scrbl +++ b/collects/web-server/scribblings/servlet-env.scrbl @@ -98,10 +98,10 @@ If you want to use @scheme[serve/servlet] in a start up script for a Web server, [#:stateless? stateless? boolean? #f] [#:manager manager manager? (make-threshold-LRU-manager #f (* 1024 1024 64))] [#:servlet-namespace servlet-namespace (listof module-path?) empty] - [#:server-root-path server-root-path path? default-server-root-path] - [#:extra-files-paths extra-files-paths (listof path?) (list (build-path server-root-path "htdocs"))] - [#:servlets-root servlets-root path? (build-path server-root-path "htdocs")] - [#:servlet-current-directory servlet-current-directory path? servlets-root] + [#:server-root-path server-root-path path-string? default-server-root-path] + [#:extra-files-paths extra-files-paths (listof path-string?) (list (build-path server-root-path "htdocs"))] + [#:servlets-root servlets-root path-string? (build-path server-root-path "htdocs")] + [#:servlet-current-directory servlet-current-directory path-string? servlets-root] [#:file-not-found-responder file-not-found-responder (request? . -> . response?) (gen-file-not-found-responder @@ -109,9 +109,9 @@ If you want to use @scheme[serve/servlet] in a start up script for a Web server, server-root-path "conf" "not-found.html"))] - [#:mime-types-path mime-types-path path? + [#:mime-types-path mime-types-path path-string? ....] - [#:log-file log-file path? #f] + [#:log-file log-file (or/c false/c path-string?) #f] [#:log-format log-format symbol? 'apache-default]) void]{ This sets up and starts a fairly default server instance. diff --git a/collects/web-server/scribblings/servlet-setup.scrbl b/collects/web-server/scribblings/servlet-setup.scrbl index c227d33150..796042c500 100644 --- a/collects/web-server/scribblings/servlet-setup.scrbl +++ b/collects/web-server/scribblings/servlet-setup.scrbl @@ -12,21 +12,21 @@ This module is used internally to build and load servlets. It may be useful to those who are trying to extend the server. -@defproc[(make-v1.servlet [directory path?] +@defproc[(make-v1.servlet [directory path-string?] [timeout integer?] [start (request? . -> . response?)]) servlet?]{ Creates a version 1 servlet that uses @scheme[directory] as its current directory, a timeout manager with a @scheme[timeout] timeout, and @scheme[start] as the request handler. } -@defproc[(make-v2.servlet [directory path?] +@defproc[(make-v2.servlet [directory path-string?] [manager manager?] [start (request? . -> . response?)]) servlet?]{ Creates a version 2 servlet that uses @scheme[directory] as its current directory, a @scheme[manager] as the continuation manager, and @scheme[start] as the request handler. } -@defproc[(make-stateless.servlet [directory path?] +@defproc[(make-stateless.servlet [directory path-string?] [start (request? . -> . response?)]) servlet?]{ Creates a stateless @schememodname[web-server] servlet that uses @scheme[directory] as its current directory and @scheme[start] as the request handler. @@ -62,7 +62,7 @@ Equivalent to @scheme[(path? . -> . servlet?)]. @defstruct[servlet ([custodian custodian?] [namespace namespace?] [manager manager?] - [directory path?] + [directory path-string?] [handler (request? . -> . response?)]) #:mutable]{ Instances of this structure hold the necessary parts of a servlet: diff --git a/collects/web-server/scribblings/tutorial/continue.scrbl b/collects/web-server/scribblings/tutorial/continue.scrbl index 789b0609ee..f8a0619234 100644 --- a/collects/web-server/scribblings/tutorial/continue.scrbl +++ b/collects/web-server/scribblings/tutorial/continue.scrbl @@ -615,7 +615,7 @@ To do this, we set aside a path to store these files, and then tell the web server where that directory is. The function @scheme[static-files-path], -@defthing[static-files-path (path? -> void)] +@defthing[static-files-path (path-string? -> void)] tells the web server to look in the given path when it receives a URL that looks like a static resource request. diff --git a/collects/web-server/scribblings/web-config-unit.scrbl b/collects/web-server/scribblings/web-config-unit.scrbl index 4aa33691df..72f96cd87a 100644 --- a/collects/web-server/scribblings/web-config-unit.scrbl +++ b/collects/web-server/scribblings/web-config-unit.scrbl @@ -58,7 +58,7 @@ Provides contains the following identifiers. @defmodule[web-server/web-config-unit]{ -@defproc[(configuration-table->web-config@ [path path?] +@defproc[(configuration-table->web-config@ [path path-string?] [#:port port (or/c false/c port-number?) #f] [#:listen-ip listen-ip (or/c false/c string?) #f] [#:make-servlet-namespace make-servlet-namespace make-servlet-namespace/c (make-make-servlet-namespace)]) @@ -68,10 +68,12 @@ Provides contains the following identifiers. } @defproc[(configuration-table-sexpr->web-config@ [sexpr list?] - [#:web-server-root web-server-root path? (directory-part default-configuration-table-path)] + [#:web-server-root web-server-root path-string? + (directory-part default-configuration-table-path)] [#:port port (or/c false/c port-number?) #f] [#:listen-ip listen-ip (or/c false/c string?) #f] - [#:make-servlet-namespace make-servlet-namespace make-servlet-namespace/c (make-make-servlet-namespace)]) + [#:make-servlet-namespace make-servlet-namespace make-servlet-namespace/c + (make-make-servlet-namespace)]) (unit? web-config^)]{ Parses @scheme[sexpr] as a configuration-table and constructs a @scheme[web-config^] unit. } diff --git a/collects/web-server/scribblings/writing.scrbl b/collects/web-server/scribblings/writing.scrbl index 2f3de6e8ef..57baa51dc2 100644 --- a/collects/web-server/scribblings/writing.scrbl +++ b/collects/web-server/scribblings/writing.scrbl @@ -104,7 +104,7 @@ boxes in a safe way. @defproc[(file-box? [v any/c]) boolean?]{Checks if @scheme[v] is a file-box.} -@defproc[(file-box [p path?] +@defproc[(file-box [p path-string?] [v serializable?]) file-box?]{ Creates a file-box that is stored at @scheme[p], with the default diff --git a/collects/web-server/servlet-env.ss b/collects/web-server/servlet-env.ss index 17166d313c..baf6eca6bc 100644 --- a/collects/web-server/servlet-env.ss +++ b/collects/web-server/servlet-env.ss @@ -52,15 +52,15 @@ #:ssl? boolean? #:manager manager? #:servlet-namespace (listof module-path?) - #:server-root-path path? + #:server-root-path path-string? #:stateless? boolean? - #:extra-files-paths (listof path?) - #:servlets-root path? + #:extra-files-paths (listof path-string?) + #:servlets-root path-string? #:file-not-found-responder (request? . -> . response?) - #:mime-types-path path? + #:mime-types-path path-string? #:servlet-path string? #:servlet-regexp regexp? - #:log-file (or/c false/c path?)) + #:log-file (or/c false/c path-string?)) . ->* . void)]) diff --git a/collects/web-server/servlet/setup.ss b/collects/web-server/servlet/setup.ss index b3d85f1451..077cda3c00 100644 --- a/collects/web-server/servlet/setup.ss +++ b/collects/web-server/servlet/setup.ss @@ -97,9 +97,9 @@ servlet-module-specs lang-module-specs)) (provide/contract - [make-v1.servlet (path? integer? (request? . -> . response?) . -> . servlet?)] - [make-v2.servlet (path? manager? (request? . -> . response?) . -> . servlet?)] - [make-stateless.servlet (path? (request? . -> . response?) . -> . servlet?)] + [make-v1.servlet (path-string? integer? (request? . -> . response?) . -> . servlet?)] + [make-v2.servlet (path-string? manager? (request? . -> . response?) . -> . servlet?)] + [make-stateless.servlet (path-string? (request? . -> . response?) . -> . servlet?)] [default-module-specs (listof module-path?)]) (define (make-default-path->servlet #:make-servlet-namespace [make-servlet-namespace (make-make-servlet-namespace)]