wai-app-static-3.1.7.4: WAI application for static serving
Safe Haskell None
Language Haskell2010

WaiAppStatic.Types

Synopsis

Pieces

data Piece Source #

An individual component of a path, or of a filepath.

This is the core type used by wai-app-static for doing lookups. It provides a smart constructor to avoid the possibility of constructing unsafe path segments (though unsafeToPiece can get around that as necessary).

Individual file lookup backends must know how to convert from a Piece to their storage system.

toPiece :: Text -> Maybe Piece Source #

Smart constructor for a Piece . Won't allow unsafe components, such as pieces beginning with a period or containing a slash. This will , however, allow null pieces.

unsafeToPiece :: Text -> Piece Source #

Construct a Piece without input validation.

type Pieces = [ Piece ] Source #

Request coming from a user. Corresponds to pathInfo .

The root path is the empty list.

toPieces :: [ Text ] -> Maybe Pieces Source #

Call toPiece on a list.

toPieces = mapM toPiece

Caching

data MaxAge Source #

Values for the max-age component of the cache-control response header.

Constructors

NoMaxAge

no cache-control set

MaxAgeSeconds Int

set to the given number of seconds

MaxAgeForever

essentially infinite caching; in reality, probably one year

File/folder serving

type FolderName = Piece Source #

Just the name of a folder.

data Folder Source #

Represent contents of a single folder, which can be itself either a file or a folder.

data File Source #

Information on an individual file.

Constructors

File

Fields

data LookupResult Source #

Result of looking up a file in some storage backend.

The lookup is either a file or folder, or does not exist.

type Listing = Pieces -> Folder -> IO Builder Source #

How to construct a directory listing page for the given request path and the resulting folder.

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.

Constructors

StaticSettings

Fields