Safe Haskell | None |
---|
Network.Wai.Application.Static
Contents
Description
Static file serving for WAI.
- staticApp :: StaticSettings -> Application
- defaultWebAppSettings :: FilePath -> StaticSettings
- webAppSettingsWithLookup :: FilePath -> ETagLookup -> StaticSettings
- defaultFileServerSettings :: FilePath -> StaticSettings
- embeddedSettings :: [(FilePath, ByteString)] -> StaticSettings
- data StaticSettings
- ssLookupFile :: StaticSettings -> Pieces -> IO LookupResult
- ssMkRedirect :: StaticSettings -> Pieces -> ByteString -> ByteString
- ssGetMimeType :: StaticSettings -> File -> IO MimeType
- ssListing :: StaticSettings -> Maybe Listing
- ssIndices :: StaticSettings -> [Piece]
- ssMaxAge :: StaticSettings -> MaxAge
- ssRedirectToIndex :: StaticSettings -> Bool
WAI application
staticApp :: StaticSettings -> Application
Turn a StaticSettings
into a WAI application.
Default Settings
Arguments
:: FilePath | root folder to serve from |
-> StaticSettings |
Settings optimized for a web application. Files will have aggressive caching applied and hashes calculated, and indices and listings are disabled.
Arguments
:: FilePath | root folder to serve from |
-> ETagLookup | |
-> StaticSettings |
Same as defaultWebAppSettings
, but additionally uses a specialized
ETagLookup
in place of the standard one. This can allow you to cache your
hash values, or even precompute them.
Arguments
:: FilePath | root folder to serve from |
-> StaticSettings |
Settings optimized for a file server. More conservative caching will be applied, and indices and listings are enabled.
embeddedSettings :: [(FilePath, ByteString)] -> StaticSettings
Serve the list of path/content pairs directly from memory.
Settings
data StaticSettings
All of the settings available to users for tweaking wai-app-static.
Note that you should use the settings type approach for modifying values. See http://www.yesodweb.com/book/settings-types for more information.
ssLookupFile :: StaticSettings -> Pieces -> IO LookupResult
Lookup a single file or folder. This is how you can control storage backend (filesystem, embedded, etc) and where to lookup.
ssMkRedirect :: StaticSettings -> Pieces -> ByteString -> ByteString
Given a requested path and a new destination, construct a string that will go there. Default implementation will use relative paths.
ssGetMimeType :: StaticSettings -> File -> IO MimeType
Determine the mime type of the given file. Note that this function
lives in IO
in case you want to perform more complicated mimetype
analysis, such as via the file
utility.
ssListing :: StaticSettings -> Maybe Listing
How to perform a directory listing. Optional. Will be used when the user requested a folder.
ssIndices :: StaticSettings -> [Piece]
Ordered list of filenames to be used for indices. If the user requests a folder, and a file with the given name is found in that folder, that file is served. This supercedes any directory listing.
ssMaxAge :: StaticSettings -> MaxAge
Value to provide for max age in the cache-control.
ssRedirectToIndex :: StaticSettings -> Bool
If True
, send a redirect to the user when a folder is requested
and an index page should be displayed. When False
, display the
content immediately.