| Safe Haskell | None |
|---|---|
| Language | Haskell2010 |
Servant.Utils.StaticFiles
Contents
Description
This module defines server-side handlers that lets you serve static files.
The most common needs for a web application are covered by
serveDirectoryWebApp, but the other variants allow you to use
different StaticSettings and serveDirectoryWith even allows you
to specify arbitrary StaticSettings to be used for serving static files.
- serveDirectoryWebApp :: FilePath -> Server Raw
- serveDirectoryWebAppLookup :: ETagLookup -> FilePath -> Server Raw
- serveDirectoryFileServer :: FilePath -> Server Raw
- serveDirectoryEmbedded :: [(FilePath, ByteString)] -> Server Raw
- serveDirectoryWith :: StaticSettings -> Server Raw
- serveDirectory :: FilePath -> Server Raw
Documentation
serveDirectoryWebApp :: FilePath -> Server Raw Source #
Serve anything under the specified directory as a Raw endpoint.
type MyApi = "static" :> Raw server :: Server MyApi server = serveDirectoryWebApp "/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 serveDirectoryWebApp
handler in the last position, because servant will try to match the handlers
in order.
Corresponds to the defaultWebAppSettings StaticSettings value.
serveDirectoryWebAppLookup :: ETagLookup -> FilePath -> Server Raw Source #
Same as serveDirectoryWebApp, but uses webAppSettingsWithLookup.
serveDirectoryFileServer :: FilePath -> Server Raw Source #
Same as serveDirectoryWebApp, but uses defaultFileServerSettings.
serveDirectoryEmbedded :: [(FilePath, ByteString)] -> Server Raw Source #
Uses embeddedSettings.
serveDirectoryWith :: StaticSettings -> Server Raw Source #
Alias for staticApp. Lets you serve a directory
with arbitrary StaticSettings. Useful when you want
particular settings not covered by the four other
variants. This is the most flexible method.
Deprecated
serveDirectory :: FilePath -> Server Raw Source #
Deprecated: Use serveDirectoryFileServer instead
Same as serveDirectoryFileServer. It used to be the only
file serving function in servant pre-0.10 and will be kept
around for a few versions, but is deprecated.