Safe Haskell | None |
---|---|
Language | Haskell2010 |
This module defines a sever-side handler that lets you serve static files.
serveDirectory
lets you serve anything that lives under a particular directory on your filesystem.
- serveDirectory :: MonadSnap m => FilePath -> Server Raw context m
Documentation
serveDirectory :: MonadSnap m => FilePath -> Server Raw context m Source #
Serve anything under the specified directory as a Raw
endpoint.
type MyApi = "static" :> Raw server :: Server MyApi server = serveDirectory "/var/www"
would capture any request to /static/<something>
and look for
<something>
under /var/www
.
It will do its best to guess the MIME type for that file, based on the extension, and send an appropriate Content-Type header if possible.
If your goal is to serve HTML, CSS and Javascript files that use the rest of the API
as a webapp backend, you will most likely not want the static files to be hidden
behind a /static/ prefix. In that case, remember to put the serveDirectory
handler in the last position, because servant will try to match the handlers
in order.