yesod-core-1.6.25.0: Creation of type-safe, RESTful web applications.
Safe HaskellSafe-Inferred
LanguageHaskell2010

Yesod.Core.Content

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

Instances details
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 #

ToContent (ContentType, Content) # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent (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.

Methods

toContent :: a -> Content #

Instances

Instances details
ToContent Encoding # 
Instance details

Defined in Yesod.Core.Content

ToContent Value # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: Value -> Content #

ToContent Void # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: Void -> Content #

ToContent Html # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: Html -> Content #

ToContent Builder # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: Builder -> Content #

ToContent ByteString # 
Instance details

Defined in Yesod.Core.Content

ToContent ByteString # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: ByteString -> Content #

ToContent Css # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: Css -> Content #

ToContent Javascript # 
Instance details

Defined in Yesod.Core.Content

ToContent Text # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: Text -> Content #

ToContent Text # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: Text -> Content #

ToContent Content # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: Content -> Content #

ToContent RepJson # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: RepJson -> Content #

ToContent RepPlain # 
Instance details

Defined in Yesod.Core.Content

ToContent RepXml # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: RepXml -> Content #

ToContent TypedContent # 
Instance details

Defined in Yesod.Core.Content

ToContent String # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: String -> Content #

ToContent () # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: () -> Content #

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

Defined in Yesod.Core.Content

ToContent (JSONResponse 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

Methods

toFlushBuilder :: a -> Flush Builder #

Instances

Instances details
ToFlushBuilder Html # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder Builder # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder ByteString # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder ByteString # 
Instance details

Defined in Yesod.Core.Content

Methods

toFlushBuilder :: ByteString -> Flush Builder #

ToFlushBuilder Text # 
Instance details

Defined in Yesod.Core.Content

Methods

toFlushBuilder :: Text -> Flush Builder #

ToFlushBuilder Text # 
Instance details

Defined in Yesod.Core.Content

Methods

toFlushBuilder :: Text -> Flush Builder #

ToFlushBuilder String # 
Instance details

Defined in Yesod.Core.Content

Methods

toFlushBuilder :: String -> Flush Builder #

ToFlushBuilder (Flush Html) # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder (Flush Builder) # 
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

Methods

toFlushBuilder :: Flush ByteString -> Flush Builder #

ToFlushBuilder (Flush Text) # 
Instance details

Defined in Yesod.Core.Content

Methods

toFlushBuilder :: Flush Text -> Flush Builder #

ToFlushBuilder (Flush Text) # 
Instance details

Defined in Yesod.Core.Content

Methods

toFlushBuilder :: Flush Text -> Flush Builder #

ToFlushBuilder (Flush String) # 
Instance details

Defined in Yesod.Core.Content

Methods

toFlushBuilder :: Flush String -> Flush Builder #

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

Instances

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

Defined in Yesod.Core.Content

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

Defined in Yesod.Core.Content

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

Defined in Yesod.Core.Content

Representations

data TypedContent #

Instances

Instances details
ToContent TypedContent # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent 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

Instances

Instances details
ToTypedContent Encoding # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent Value # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent Void # 
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 Text # 
Instance details

Defined in Yesod.Core.Content

Methods

toTypedContent :: Text -> TypedContent #

ToTypedContent Text # 
Instance details

Defined in Yesod.Core.Content

Methods

toTypedContent :: Text -> TypedContent #

ToTypedContent RepJson # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent RepPlain # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent RepXml # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent TypedContent # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent () # 
Instance details

Defined in Yesod.Core.Content

Methods

toTypedContent :: () -> TypedContent #

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

Defined in Yesod.Core.Content

ToTypedContent (JSONResponse a) # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent [Char] # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent (ContentType, Content) # 
Instance details

Defined in Yesod.Core.Content

class ToTypedContent a => HasContentType a where #

Methods

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

Instances

Instances details
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 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 Text # 
Instance details

Defined in Yesod.Core.Content

Methods

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

HasContentType Text # 
Instance details

Defined in Yesod.Core.Content

Methods

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

HasContentType RepJson # 
Instance details

Defined in Yesod.Core.Content

HasContentType RepPlain # 
Instance details

Defined in Yesod.Core.Content

HasContentType RepXml # 
Instance details

Defined in Yesod.Core.Content

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

Defined in Yesod.Core.Content

HasContentType (JSONResponse 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

Instances details
HasContentType RepJson # 
Instance details

Defined in Yesod.Core.Content

ToContent RepJson # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: RepJson -> Content #

ToTypedContent RepJson # 
Instance details

Defined in Yesod.Core.Content

newtype RepPlain #

Constructors

RepPlain Content 

Instances

Instances details
HasContentType RepPlain # 
Instance details

Defined in Yesod.Core.Content

ToContent RepPlain # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent RepPlain # 
Instance details

Defined in Yesod.Core.Content

newtype RepXml #

Constructors

RepXml Content 

Instances

Instances details
HasContentType RepXml # 
Instance details

Defined in Yesod.Core.Content

ToContent RepXml # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: RepXml -> Content #

ToTypedContent RepXml # 
Instance details

Defined in Yesod.Core.Content

Smart constructors

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

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