Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Static file serving for WAI.
Synopsis
- 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
- ssAddTrailingSlash :: StaticSettings -> Bool
- ss404Handler :: StaticSettings -> Maybe Application
WAI application
staticApp :: StaticSettings -> Application Source #
Turn a StaticSettings
into a WAI application.
Default Settings
defaultWebAppSettings Source #
:: 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.
webAppSettingsWithLookup Source #
:: 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.
defaultFileServerSettings Source #
:: 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 Source #
Serve the list of path/content pairs directly from memory.
Settings
data StaticSettings Source #
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 Source #
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 Source #
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 Source #
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 Source #
How to perform a directory listing. Optional. Will be used when the user requested a folder.
ssIndices :: StaticSettings -> [Piece] Source #
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 Source #
Value to provide for max age in the cache-control.
ssRedirectToIndex :: StaticSettings -> Bool Source #
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.
ssAddTrailingSlash :: StaticSettings -> Bool Source #
Force a trailing slash at the end of directories
ss404Handler :: StaticSettings -> Maybe Application Source #
Optional Application
to be used in case of 404 errors
Since 3.1.3