diff --git a/collects/web-server/dispatchers/dispatch-files.ss b/collects/web-server/dispatchers/dispatch-files.ss index 1ff64aa7f2..f972587e3a 100644 --- a/collects/web-server/dispatchers/dispatch-files.ss +++ b/collects/web-server/dispatchers/dispatch-files.ss @@ -5,8 +5,8 @@ (lib "contract.ss")) (require "dispatch.ss" "../private/util.ss" - "../private/mime-types.ss" "../private/request-structs.ss" + "../private/response-structs.ss" "../private/response.ss") (provide/contract [interface-version dispatcher-interface-version?]) @@ -20,8 +20,7 @@ (define interface-version 'v1) (define/kw (make #:key url->path - ; XXX Make the default a define from response.ss - [path->mime-type (lambda (path) #"text/plain; charset=utf-8")] + [path->mime-type (lambda (path) TEXT/HTML-MIME-TYPE)] [indices (list "index.html" "index.htm")]) (lambda (conn req) (define uri (request-uri req)) diff --git a/collects/web-server/docs/reference/dispatchers.scrbl b/collects/web-server/docs/reference/dispatchers.scrbl index fdf4c12c6a..101743ffea 100644 --- a/collects/web-server/docs/reference/dispatchers.scrbl +++ b/collects/web-server/docs/reference/dispatchers.scrbl @@ -224,7 +224,7 @@ that calls a different dispatcher based upon the host requested. It defines a dispatcher construction procedure: @defproc[(make [#:url->path url->path url->path?] - [#:path->mime-type path->mime-type (path? . -> . bytes?) (lambda (path) #"text/plain; charset=utf-8")] + [#:path->mime-type path->mime-type (path? . -> . bytes?) (lambda (path) TEXT/HTML-MIME-TYPE)] [#:indices indices (listof string?) (list "index.html" "index.htm")]) dispatcher?]{ Uses @scheme[url->path] to extract a path from the URL in the request diff --git a/collects/web-server/private/mime-types.ss b/collects/web-server/private/mime-types.ss index b9c627c4da..8ed4c4b4f3 100644 --- a/collects/web-server/private/mime-types.ss +++ b/collects/web-server/private/mime-types.ss @@ -2,7 +2,8 @@ (require (lib "contract.ss") (lib "plt-match.ss") (lib "string.ss")) - (require "util.ss") + (require "util.ss" + "response-structs.ss") (provide/contract [read-mime-types (path? . -> . hash-table?)] [make-path->mime-type (path? . -> . (path? . -> . bytes?))]) @@ -36,12 +37,11 @@ ;; 2. Assuming that 7-bit ASCII is correct for mime-type (define (make-path->mime-type a-path) (define MIME-TYPE-TABLE (read-mime-types a-path)) - (define DEFAULT-MIME-TYPE #"text/plain; charset=utf-8") (define file-suffix-regexp (byte-regexp #".*\\.([^\\.]*$)")) (lambda (path) (match (regexp-match file-suffix-regexp (path->bytes path)) [(list path-bytes sffx) (hash-table-get MIME-TYPE-TABLE (lowercase-symbol! sffx) - (lambda () DEFAULT-MIME-TYPE))] - [_ DEFAULT-MIME-TYPE])))) \ No newline at end of file + (lambda () TEXT/HTML-MIME-TYPE))] + [_ TEXT/HTML-MIME-TYPE])))) \ No newline at end of file diff --git a/collects/web-server/tests/dispatchers/dispatch-files-test.ss b/collects/web-server/tests/dispatchers/dispatch-files-test.ss index 777704fae3..11a77f97d8 100644 --- a/collects/web-server/tests/dispatchers/dispatch-files-test.ss +++ b/collects/web-server/tests/dispatchers/dispatch-files-test.ss @@ -42,16 +42,16 @@ (test-equal? "file, exists, whole, get" (collect (dispatch #t tmp-file) (req #f 'get empty)) - #"HTTP/1.1 206 Okay\r\nDate: REDACTED GMT\r\nLast-Modified: REDACTED GMT\r\nServer: PLT Scheme\r\nContent-Type: text/plain; charset=utf-8\r\nContent-Length: 81\r\nContent-Range: bytes 0-81/81\r\n\r\n