yesod-core-0.8.2: Creation of type-safe, RESTful web applications.

Yesod.Content

Contents

Synopsis

Content

emptyContent :: ContentSource

Zero-length enumerator.

class ToContent a whereSource

Anything which can be converted into Content. Most of the time, you will want to use the ContentBuilder constructor. An easier approach will be to use a pre-defined toContent function, such as converting your data into a lazy bytestring and then calling toContent on that.

Please note that the built-in instances for lazy data structures (String, lazy ByteString, lazy Text and Html) will not automatically include the content length for the ContentBuilder constructor.

Methods

toContent :: a -> ContentSource

Mime types

Data type

Utilities

simpleContentType :: ContentType -> ContentTypeSource

Removes "extra" information at the end of a content type string. In particular, removes everything after the semicolon, if present.

For example, "text/html; charset=utf-8" is commonly used to specify the character encoding for HTML data. This function would return "text/html".

Representations

type ChooseRepSource

Arguments

 = [ContentType]

list of content-types user accepts, ordered by preference

-> IO (ContentType, Content) 

A function which gives targetted representations of content based on the content-types the user accepts.

class HasReps a whereSource

Any type which can be converted to representations.

Methods

chooseRep :: a -> ChooseRepSource

defChooseRep :: [(ContentType, a -> IO Content)] -> a -> ChooseRepSource

A helper method for generating HasReps instances.

This function should be given a list of pairs of content type and conversion functions. If none of the content types match, the first pair is used.

Specific content types

newtype RepHtml Source

Constructors

RepHtml Content 

Instances

newtype RepJson Source

Constructors

RepJson Content 

Instances

newtype RepPlain Source

Constructors

RepPlain Content 

Instances

newtype RepXml Source

Constructors

RepXml Content 

Instances

Utilities

formatW3 :: UTCTime -> TextSource

Format a UTCTime in W3 format.

formatRFC1123 :: UTCTime -> TextSource

Format as per RFC 1123.

formatRFC822 :: UTCTime -> TextSource

Format as per RFC 822.