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

Safe HaskellNone
LanguageHaskell98

Yesod.Core.Content

Contents

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

Defined in Yesod.Core.Content

Methods

toContent :: () -> Content Source #

ToContent String Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: String -> 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 Builder Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: Builder -> 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 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 Html Source # 
Instance details

Defined in Yesod.Core.Content

ToContent Javascript Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toContent :: Javascript -> Content Source #

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

Defined in Yesod.Core.Content

Methods

toContent :: Css -> 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
ToFlushBuilder String Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toFlushBuilder :: String -> 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 Builder Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toFlushBuilder :: Builder -> 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 Html Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toFlushBuilder :: Html -> Flush Builder Source #

ToFlushBuilder (Flush String) Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toFlushBuilder :: Flush String -> 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 Builder) Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toFlushBuilder :: Flush Builder -> 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 Html) Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toFlushBuilder :: Flush Html -> 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

Representations

class ToContent a => ToTypedContent a where Source #

Any type which can be converted to TypedContent.

Since 1.2.0

Instances
ToTypedContent () Source # 
Instance details

Defined in Yesod.Core.Content

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

Methods

toTypedContent :: Encoding -> TypedContent Source #

ToTypedContent Value Source # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent Html Source # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent Javascript Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toTypedContent :: Javascript -> TypedContent Source #

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

Defined in Yesod.Core.Content

ToTypedContent [Char] Source # 
Instance details

Defined in Yesod.Core.Content

Methods

toTypedContent :: [Char] -> TypedContent Source #

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

Defined in Yesod.Core.Content

Methods

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

HasContentType RepXml Source # 
Instance details

Defined in Yesod.Core.Content

Methods

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

HasContentType RepPlain Source # 
Instance details

Defined in Yesod.Core.Content

Methods

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

HasContentType RepJson Source # 
Instance details

Defined in Yesod.Core.Content

Methods

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

HasContentType Css Source # 
Instance details

Defined in Yesod.Core.Content

Methods

getContentType :: Monad m => m Css -> 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
ToTypedContent RepJson Source # 
Instance details

Defined in Yesod.Core.Content

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

newtype RepPlain Source #

Constructors

RepPlain Content 
Instances
ToTypedContent RepPlain Source # 
Instance details

Defined in Yesod.Core.Content

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

newtype RepXml Source #

Constructors

RepXml Content 
Instances
ToTypedContent RepXml Source # 
Instance details

Defined in Yesod.Core.Content

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

Smart constructors