On this page:

2.11 Serving Files

 (require web-server/dispatchers/dispatch-files)
  package: web-server-lib
The web-server/dispatchers/dispatch-files module allows files to be served. It defines a dispatcher construction procedure.


(make #:url->path url->path    
  [#:path->mime-type path->mime-type    
  #:indices indices])  dispatcher/c
  url->path : url->path/c
  path->mime-type : (path? . -> . (or/c false/c bytes)?)
   = (lambda (path) #f)
  indices : (listof string?) = (list "index.html" "index.htm")
Uses url->path to extract a path from the URL in the request object. If this path does not exist, then the dispatcher does not apply and next-dispatcher is invoked. If the path is a directory, then the indices are checked in order for an index file to serve. In that case, or in the case of a path that is a file already, path->mime-type is consulted for the MIME Type of the path. The file is then streamed out the connection object.

This dispatcher supports HTTP Range GET requests and HEAD requests.