yesod-core-1.6.19.0: Creation of type-safe, RESTful web applications.
Safe HaskellNone
LanguageHaskell2010

Yesod.Core.Content

Synopsis

Content

data Content Source #

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 Source # 
Instance details

Defined in Yesod.Core.Types

Methods

fromString :: String -> Content #

ToContent Content Source # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent (ContentType, Content) Source # 
Instance details

Defined in Yesod.Core.Content

ToContent (ContentType, Content) Source # 
Instance details

Defined in Yesod.Core.Content

emptyContent :: Content Source #

Zero-length enumerator.

class ToContent a where Source #

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 Source #

Instances

Instances details
ToContent () Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: () -> Content Source #

ToContent String Source # 
Instance details

Defined in Yesod.Core.Content

ToContent ByteString Source # 
Instance details

Defined in Yesod.Core.Content

ToContent ByteString Source # 
Instance details

Defined in Yesod.Core.Content

ToContent Builder Source # 
Instance details

Defined in Yesod.Core.Content

ToContent Text Source # 
Instance details

Defined in Yesod.Core.Content

ToContent Encoding Source # 
Instance details

Defined in Yesod.Core.Content

ToContent Value Source # 
Instance details

Defined in Yesod.Core.Content

ToContent Text Source # 
Instance details

Defined in Yesod.Core.Content

ToContent Html Source # 
Instance details

Defined in Yesod.Core.Content

ToContent Css Source # 
Instance details

Defined in Yesod.Core.Content

ToContent Javascript Source # 
Instance details

Defined in Yesod.Core.Content

ToContent RepXml Source # 
Instance details

Defined in Yesod.Core.Content

ToContent RepPlain Source # 
Instance details

Defined in Yesod.Core.Content

ToContent RepJson Source # 
Instance details

Defined in Yesod.Core.Content

ToContent TypedContent Source # 
Instance details

Defined in Yesod.Core.Content

ToContent Content Source # 
Instance details

Defined in Yesod.Core.Content

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

Defined in Yesod.Core.Content

ToContent (JSONResponse a) Source # 
Instance details

Defined in Yesod.Core.Content

ToContent (ContentType, Content) Source # 
Instance details

Defined in Yesod.Core.Content

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

Defined in Yesod.Core.Content

Methods

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

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

Defined in Yesod.Core.Content

Methods

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

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

Defined in Yesod.Core.Content

Methods

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

class ToFlushBuilder a where Source #

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

Instances

Instances details
ToFlushBuilder String Source # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder ByteString Source # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder ByteString Source # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder Builder Source # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder Text Source # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder Text Source # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder Html Source # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder (Flush String) Source # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder (Flush ByteString) Source # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder (Flush ByteString) Source # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder (Flush Builder) Source # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder (Flush Text) Source # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder (Flush Text) Source # 
Instance details

Defined in Yesod.Core.Content

ToFlushBuilder (Flush Html) Source # 
Instance details

Defined in Yesod.Core.Content

Mime types

Data type

Utilities

simpleContentType :: ContentType -> ContentType Source #

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) Source #

Give just the media types as a pair.

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

Evaluation strategy

newtype DontFullyEvaluate a Source #

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

Since 1.1.0

Constructors

DontFullyEvaluate 

Fields

Representations

data TypedContent Source #

Instances

Instances details
ToTypedContent TypedContent Source # 
Instance details

Defined in Yesod.Core.Content

ToContent TypedContent Source # 
Instance details

Defined in Yesod.Core.Content

class ToContent a => ToTypedContent a where Source #

Any type which can be converted to TypedContent.

Since 1.2.0

Instances

Instances details
ToTypedContent () Source # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent Text Source # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent Encoding Source # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent Value Source # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent Text Source # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent Html Source # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent Css Source # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent Javascript Source # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent RepXml Source # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent RepPlain Source # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent RepJson Source # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent TypedContent Source # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent [Char] Source # 
Instance details

Defined in Yesod.Core.Content

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

Defined in Yesod.Core.Content

ToTypedContent (JSONResponse a) Source # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent (ContentType, Content) Source # 
Instance details

Defined in Yesod.Core.Content

class ToTypedContent a => HasContentType a where Source #

Methods

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

Instances

Instances details
HasContentType Text Source # 
Instance details

Defined in Yesod.Core.Content

HasContentType Encoding Source # 
Instance details

Defined in Yesod.Core.Content

HasContentType Value Source # 
Instance details

Defined in Yesod.Core.Content

HasContentType Text Source # 
Instance details

Defined in Yesod.Core.Content

HasContentType Html Source # 
Instance details

Defined in Yesod.Core.Content

HasContentType Css Source # 
Instance details

Defined in Yesod.Core.Content

HasContentType Javascript Source # 
Instance details

Defined in Yesod.Core.Content

HasContentType RepXml Source # 
Instance details

Defined in Yesod.Core.Content

HasContentType RepPlain Source # 
Instance details

Defined in Yesod.Core.Content

HasContentType RepJson Source # 
Instance details

Defined in Yesod.Core.Content

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

Defined in Yesod.Core.Content

HasContentType (JSONResponse a) Source # 
Instance details

Defined in Yesod.Core.Content

Specific content types

type RepHtml = Html Source #

Deprecated: Please use Html instead

newtype RepJson Source #

Constructors

RepJson Content 

Instances

Instances details
ToTypedContent RepJson Source # 
Instance details

Defined in Yesod.Core.Content

HasContentType RepJson Source # 
Instance details

Defined in Yesod.Core.Content

ToContent RepJson Source # 
Instance details

Defined in Yesod.Core.Content

newtype RepPlain Source #

Constructors

RepPlain Content 

Instances

Instances details
ToTypedContent RepPlain Source # 
Instance details

Defined in Yesod.Core.Content

HasContentType RepPlain Source # 
Instance details

Defined in Yesod.Core.Content

ToContent RepPlain Source # 
Instance details

Defined in Yesod.Core.Content

newtype RepXml Source #

Constructors

RepXml Content 

Instances

Instances details
ToTypedContent RepXml Source # 
Instance details

Defined in Yesod.Core.Content

HasContentType RepXml Source # 
Instance details

Defined in Yesod.Core.Content

ToContent RepXml Source # 
Instance details

Defined in Yesod.Core.Content

Smart constructors