yesod-core-1.6.25.1: Creation of type-safe, RESTful web applications.
Safe HaskellSafe-Inferred
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

ToContent (ContentType, Content) Source # 
Instance details

Defined in Yesod.Core.Content

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

Defined in Yesod.Core.Content

Methods

toContent :: Encoding -> Content Source #

ToContent Value Source # 
Instance details

Defined in Yesod.Core.Content

ToContent Void Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: Void -> Content Source #

ToContent Html Source # 
Instance details

Defined in Yesod.Core.Content

ToContent Builder Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: Builder -> Content Source #

ToContent ByteString Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: ByteString -> Content Source #

ToContent ByteString Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: ByteString -> Content Source #

ToContent Css Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: Css -> Content Source #

ToContent Javascript Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: Javascript -> Content Source #

ToContent Text Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: Text -> Content Source #

ToContent Text Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: Text -> Content Source #

ToContent Content Source # 
Instance details

Defined in Yesod.Core.Content

ToContent RepJson Source # 
Instance details

Defined in Yesod.Core.Content

ToContent RepPlain Source # 
Instance details

Defined in Yesod.Core.Content

ToContent RepXml Source # 
Instance details

Defined in Yesod.Core.Content

ToContent TypedContent Source # 
Instance details

Defined in Yesod.Core.Content

ToContent String Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: String -> Content Source #

ToContent () Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: () -> Content Source #

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

Methods

toFlushBuilder :: a -> Flush Builder Source #

Instances

Instances details
ToFlushBuilder Html Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toFlushBuilder :: Html -> Flush Builder Source #

ToFlushBuilder Builder Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toFlushBuilder :: Builder -> Flush Builder Source #

ToFlushBuilder ByteString Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toFlushBuilder :: ByteString -> Flush Builder Source #

ToFlushBuilder ByteString Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toFlushBuilder :: ByteString -> Flush Builder Source #

ToFlushBuilder Text Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toFlushBuilder :: Text -> Flush Builder Source #

ToFlushBuilder Text Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toFlushBuilder :: Text -> Flush Builder Source #

ToFlushBuilder String Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toFlushBuilder :: String -> Flush Builder Source #

ToFlushBuilder (Flush Html) Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toFlushBuilder :: Flush Html -> Flush Builder Source #

ToFlushBuilder (Flush Builder) Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toFlushBuilder :: Flush Builder -> Flush Builder Source #

ToFlushBuilder (Flush ByteString) Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toFlushBuilder :: Flush ByteString -> Flush Builder Source #

ToFlushBuilder (Flush ByteString) Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toFlushBuilder :: Flush ByteString -> Flush Builder Source #

ToFlushBuilder (Flush Text) Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toFlushBuilder :: Flush Text -> Flush Builder Source #

ToFlushBuilder (Flush Text) Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toFlushBuilder :: Flush Text -> Flush Builder Source #

ToFlushBuilder (Flush String) Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toFlushBuilder :: Flush String -> Flush Builder Source #

Mime types

Data type

type ContentType = ByteString Source #

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

Instances

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

Defined in Yesod.Core.Content

Methods

getContentType :: Monad m => m (DontFullyEvaluate a) -> ContentType Source #

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

Defined in Yesod.Core.Content

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

Defined in Yesod.Core.Content

Representations

data TypedContent Source #

Instances

Instances details
ToContent TypedContent Source # 
Instance details

Defined in Yesod.Core.Content

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

Defined in Yesod.Core.Content

Methods

toTypedContent :: Encoding -> TypedContent Source #

ToTypedContent Value Source # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent Void 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

Methods

toTypedContent :: Javascript -> TypedContent Source #

ToTypedContent Text Source # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent Text Source # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent RepJson Source # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent RepPlain Source # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent RepXml Source # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent TypedContent Source # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent () 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 [Char] Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toTypedContent :: [Char] -> TypedContent Source #

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

Defined in Yesod.Core.Content

Methods

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

HasContentType Value Source # 
Instance details

Defined in Yesod.Core.Content

Methods

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

HasContentType Html Source # 
Instance details

Defined in Yesod.Core.Content

Methods

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

HasContentType Css Source # 
Instance details

Defined in Yesod.Core.Content

Methods

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

HasContentType Javascript Source # 
Instance details

Defined in Yesod.Core.Content

Methods

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

HasContentType Text Source # 
Instance details

Defined in Yesod.Core.Content

Methods

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

HasContentType Text Source # 
Instance details

Defined in Yesod.Core.Content

Methods

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

HasContentType RepJson Source # 
Instance details

Defined in Yesod.Core.Content

Methods

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

HasContentType RepPlain Source # 
Instance details

Defined in Yesod.Core.Content

Methods

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

HasContentType RepXml Source # 
Instance details

Defined in Yesod.Core.Content

Methods

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

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

Defined in Yesod.Core.Content

Methods

getContentType :: Monad m => m (DontFullyEvaluate a) -> ContentType Source #

HasContentType (JSONResponse a) Source # 
Instance details

Defined in Yesod.Core.Content

Methods

getContentType :: Monad m => m (JSONResponse a) -> ContentType Source #

Specific content types

type RepHtml = Html Source #

Deprecated: Please use Html instead

newtype RepJson Source #

Constructors

RepJson Content 

Instances

Instances details
HasContentType RepJson Source # 
Instance details

Defined in Yesod.Core.Content

Methods

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

ToContent RepJson Source # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent RepJson Source # 
Instance details

Defined in Yesod.Core.Content

newtype RepPlain Source #

Constructors

RepPlain Content 

Instances

Instances details
HasContentType RepPlain Source # 
Instance details

Defined in Yesod.Core.Content

Methods

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

ToContent RepPlain Source # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent RepPlain Source # 
Instance details

Defined in Yesod.Core.Content

newtype RepXml Source #

Constructors

RepXml Content 

Instances

Instances details
HasContentType RepXml Source # 
Instance details

Defined in Yesod.Core.Content

Methods

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

ToContent RepXml Source # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent RepXml Source # 
Instance details

Defined in Yesod.Core.Content

Smart constructors