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

Safe HaskellNone
LanguageHaskell98

Yesod.Core.Content

Contents

Synopsis

Content

data Content #

Constructors

ContentBuilder !Builder !(Maybe Int)

The content and optional content length.

ContentSource !(ConduitT () (Flush Builder) (ResourceT IO) ()) 
ContentFile !FilePath !(Maybe FilePart) 
ContentDontEvaluate !Content 
Instances
IsString Content # 
Instance details

Defined in Yesod.Core.Types

Methods

fromString :: String -> Content #

ToContent Content # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: Content -> Content #

ToTypedContent (ContentType, Content) # 
Instance details

Defined in Yesod.Core.Content

ToContent (ContentType, Content) # 
Instance details

Defined in Yesod.Core.Content

emptyContent :: Content #

Zero-length enumerator.

class ToContent a where #

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.

Minimal complete definition

toContent

Methods

toContent :: a -> Content #

Instances
ToContent () # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: () -> Content #

ToContent ByteString # 
Instance details

Defined in Yesod.Core.Content

ToContent ByteString # 
Instance details

Defined in Yesod.Core.Content

ToContent Builder # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: Builder -> Content #

ToContent String # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: String -> Content #

ToContent Text # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: Text -> Content #

ToContent Encoding # 
Instance details

Defined in Yesod.Core.Content

ToContent Value # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: Value -> Content #

ToContent Text # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: Text -> Content #

ToContent Html # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: Html -> Content #

ToContent Css # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: Css -> Content #

ToContent Javascript # 
Instance details

Defined in Yesod.Core.Content

ToContent RepXml # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: RepXml -> Content #

ToContent RepPlain # 
Instance details

Defined in Yesod.Core.Content

ToContent RepJson # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: RepJson -> Content #

ToContent TypedContent # 
Instance details

Defined in Yesod.Core.Content

ToContent Content # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: Content -> Content #

ToContent a => ToContent (DontFullyEvaluate a) # 
Instance details

Defined in Yesod.Core.Content

ToContent (ContentType, Content) # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder builder => ToContent (ConduitT () builder (ResourceT IO) ()) # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: ConduitT () builder (ResourceT IO) () -> Content #

ToFlushBuilder builder => ToContent (SealedConduitT () builder (ResourceT IO) ()) # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: SealedConduitT () builder (ResourceT IO) () -> Content #

ToFlushBuilder builder => ToContent (Pipe () () builder () (ResourceT IO) ()) # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: Pipe () () builder () (ResourceT IO) () -> Content #

class ToFlushBuilder a where #

A class for all data which can be sent in a streaming response. Note that for textual data, instances must use UTF-8 encoding.

Since 1.2.0

Minimal complete definition

toFlushBuilder

Methods

toFlushBuilder :: a -> Flush Builder #

Instances
ToFlushBuilder ByteString # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder ByteString # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder Builder # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder String # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder Text # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder Text # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder Html # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder (Flush ByteString) # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder (Flush ByteString) # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder (Flush Builder) # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder (Flush String) # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder (Flush Text) # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder (Flush Text) # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder (Flush Html) # 
Instance details

Defined in Yesod.Core.Content

Mime types

Data type

Utilities

simpleContentType :: ContentType -> ContentType #

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".

contentTypeTypes :: ContentType -> (ByteString, ByteString) #

Give just the media types as a pair.

For example, "text/html; charset=utf-8" returns ("text", "html")

Evaluation strategy

newtype DontFullyEvaluate a #

Prevents a response body from being fully evaluated before sending the request.

Since 1.1.0

Constructors

DontFullyEvaluate 

Fields

Representations

data TypedContent #

Instances
ToTypedContent TypedContent # 
Instance details

Defined in Yesod.Core.Content

ToContent TypedContent # 
Instance details

Defined in Yesod.Core.Content

class ToContent a => ToTypedContent a where #

Any type which can be converted to TypedContent.

Since 1.2.0

Minimal complete definition

toTypedContent

Instances
ToTypedContent () # 
Instance details

Defined in Yesod.Core.Content

Methods

toTypedContent :: () -> TypedContent #

ToTypedContent Text # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent Encoding # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent Value # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent Text # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent Html # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent Css # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent Javascript # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent RepXml # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent RepPlain # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent RepJson # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent TypedContent # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent [Char] # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent a => ToTypedContent (DontFullyEvaluate a) # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent (ContentType, Content) # 
Instance details

Defined in Yesod.Core.Content

class ToTypedContent a => HasContentType a where #

Minimal complete definition

getContentType

Methods

getContentType :: Monad m => m a -> ContentType #

Instances
HasContentType Text # 
Instance details

Defined in Yesod.Core.Content

Methods

getContentType :: Monad m => m Text -> ContentType #

HasContentType Encoding # 
Instance details

Defined in Yesod.Core.Content

HasContentType Value # 
Instance details

Defined in Yesod.Core.Content

Methods

getContentType :: Monad m => m Value -> ContentType #

HasContentType Text # 
Instance details

Defined in Yesod.Core.Content

Methods

getContentType :: Monad m => m Text -> ContentType #

HasContentType Html # 
Instance details

Defined in Yesod.Core.Content

Methods

getContentType :: Monad m => m Html -> ContentType #

HasContentType Css # 
Instance details

Defined in Yesod.Core.Content

Methods

getContentType :: Monad m => m Css -> ContentType #

HasContentType Javascript # 
Instance details

Defined in Yesod.Core.Content

HasContentType RepXml # 
Instance details

Defined in Yesod.Core.Content

HasContentType RepPlain # 
Instance details

Defined in Yesod.Core.Content

HasContentType RepJson # 
Instance details

Defined in Yesod.Core.Content

HasContentType a => HasContentType (DontFullyEvaluate a) # 
Instance details

Defined in Yesod.Core.Content

Specific content types

type RepHtml = Html #

Deprecated: Please use Html instead

newtype RepJson #

Constructors

RepJson Content 
Instances
ToTypedContent RepJson # 
Instance details

Defined in Yesod.Core.Content

HasContentType RepJson # 
Instance details

Defined in Yesod.Core.Content

ToContent RepJson # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: RepJson -> Content #

newtype RepPlain #

Constructors

RepPlain Content 
Instances
ToTypedContent RepPlain # 
Instance details

Defined in Yesod.Core.Content

HasContentType RepPlain # 
Instance details

Defined in Yesod.Core.Content

ToContent RepPlain # 
Instance details

Defined in Yesod.Core.Content

newtype RepXml #

Constructors

RepXml Content 
Instances
ToTypedContent RepXml # 
Instance details

Defined in Yesod.Core.Content

HasContentType RepXml # 
Instance details

Defined in Yesod.Core.Content

ToContent RepXml # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: RepXml -> Content #

Smart constructors

repJson :: ToContent a => a -> RepJson #

repXml :: ToContent a => a -> RepXml #