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

Yesod.Core.Types

Synopsis

Documentation

type SessionMap = Map Text ByteString Source #

type SaveSession Source #

Arguments

 = SessionMap

The session contents after running the handler

-> IO [Header] 

newtype SessionBackend Source #

Constructors

SessionBackend 

Fields

data SessionCookie Source #

Constructors

SessionCookie !(Either UTCTime ByteString) !ByteString !SessionMap 

Instances

Instances details
Read SessionCookie Source # 
Instance details

Defined in Yesod.Core.Types

Methods

readsPrec :: Int -> ReadS SessionCookie

readList :: ReadS [SessionCookie]

readPrec :: ReadPrec SessionCookie

readListPrec :: ReadPrec [SessionCookie]

Show SessionCookie Source # 
Instance details

Defined in Yesod.Core.Types

Methods

showsPrec :: Int -> SessionCookie -> ShowS

show :: SessionCookie -> String

showList :: [SessionCookie] -> ShowS

Serialize SessionCookie Source # 
Instance details

Defined in Yesod.Core.Types

Methods

put :: Putter SessionCookie

get :: Get SessionCookie

data ClientSessionDateCache Source #

Constructors

ClientSessionDateCache 

Fields

Instances

Instances details
Show ClientSessionDateCache Source # 
Instance details

Defined in Yesod.Core.Types

Eq ClientSessionDateCache Source # 
Instance details

Defined in Yesod.Core.Types

data YesodRequest Source #

The parsed request information. This type augments the standard WAI Request with additional information.

Constructors

YesodRequest 

Fields

data YesodResponse Source #

An augmented WAI Response. This can either be a standard Response, or a higher-level data structure which Yesod will turn into a Response.

Constructors

YRWai !Response 
YRWaiApp !Application 
YRPlain !Status ![Header] !ContentType !Content !SessionMap 

type RequestBodyContents = ([(Text, Text)], [(Text, FileInfo)]) Source #

A tuple containing both the POST parameters and submitted files.

data FileInfo Source #

Constructors

FileInfo 

Fields

data FileUpload Source #

Constructors

FileUploadMemory !(BackEnd ByteString) 
FileUploadDisk !(InternalState -> BackEnd FilePath) 
FileUploadSource !(BackEnd (ConduitT () ByteString (ResourceT IO) ())) 

data Approot master Source #

How to determine the root of the application for constructing URLs.

Note that future versions of Yesod may add new constructors without bumping the major version number. As a result, you should not pattern match on Approot values.

Constructors

ApprootRelative

No application root.

ApprootStatic !Text 
ApprootMaster !(master -> Text) 
ApprootRequest !(master -> Request -> Text) 

data AuthResult Source #

Instances

Instances details
Read AuthResult Source # 
Instance details

Defined in Yesod.Core.Types

Methods

readsPrec :: Int -> ReadS AuthResult

readList :: ReadS [AuthResult]

readPrec :: ReadPrec AuthResult

readListPrec :: ReadPrec [AuthResult]

Show AuthResult Source # 
Instance details

Defined in Yesod.Core.Types

Methods

showsPrec :: Int -> AuthResult -> ShowS

show :: AuthResult -> String

showList :: [AuthResult] -> ShowS

Eq AuthResult Source # 
Instance details

Defined in Yesod.Core.Types

Methods

(==) :: AuthResult -> AuthResult -> Bool

(/=) :: AuthResult -> AuthResult -> Bool

type BottomOfHeadAsync master Source #

Arguments

 = [Text]

urls to load asynchronously

-> Maybe (HtmlUrl (Route master))

widget of js to run on async completion

-> HtmlUrl (Route master)

widget to insert at the bottom of head

type Texts = [Text] Source #

newtype WaiSubsite Source #

Wrap up a normal WAI application as a Yesod subsite. Ignore parent site's middleware and isAuthorized.

Constructors

WaiSubsite 

Instances

Instances details
ParseRoute WaiSubsite Source # 
Instance details

Defined in Yesod.Core.Types

Methods

parseRoute :: ([Text], [(Text, Text)]) -> Maybe (Route WaiSubsite) Source #

RenderRoute WaiSubsite Source # 
Instance details

Defined in Yesod.Core.Types

Associated Types

data Route WaiSubsite 
Instance details

Defined in Yesod.Core.Types

data Route WaiSubsite = WaiSubsiteRoute [Text] [(Text, Text)]

Methods

renderRoute :: Route WaiSubsite -> ([Text], [(Text, Text)]) Source #

YesodSubDispatch WaiSubsite master Source # 
Instance details

Defined in Yesod.Core.Class.Dispatch

Read (Route WaiSubsite) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

readsPrec :: Int -> ReadS (Route WaiSubsite)

readList :: ReadS [Route WaiSubsite]

readPrec :: ReadPrec (Route WaiSubsite)

readListPrec :: ReadPrec [Route WaiSubsite]

Show (Route WaiSubsite) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

showsPrec :: Int -> Route WaiSubsite -> ShowS

show :: Route WaiSubsite -> String

showList :: [Route WaiSubsite] -> ShowS

Eq (Route WaiSubsite) Source # 
Instance details

Defined in Yesod.Core.Types

Ord (Route WaiSubsite) Source # 
Instance details

Defined in Yesod.Core.Types

data Route WaiSubsite Source # 
Instance details

Defined in Yesod.Core.Types

data Route WaiSubsite = WaiSubsiteRoute [Text] [(Text, Text)]

newtype WaiSubsiteWithAuth Source #

Like WaiSubsite, but applies parent site's middleware and isAuthorized.

Since: 1.4.34

Instances

Instances details
ParseRoute WaiSubsiteWithAuth Source # 
Instance details

Defined in Yesod.Core.Types

Methods

parseRoute :: ([Text], [(Text, Text)]) -> Maybe (Route WaiSubsiteWithAuth) Source #

RenderRoute WaiSubsiteWithAuth Source # 
Instance details

Defined in Yesod.Core.Types

Associated Types

data Route WaiSubsiteWithAuth 
Instance details

Defined in Yesod.Core.Types

data Route WaiSubsiteWithAuth = WaiSubsiteWithAuthRoute [Text] [(Text, Text)]

Methods

renderRoute :: Route WaiSubsiteWithAuth -> ([Text], [(Text, Text)]) Source #

YesodSubDispatch WaiSubsiteWithAuth master Source # 
Instance details

Defined in Yesod.Core.Class.Dispatch

Read (Route WaiSubsiteWithAuth) Source # 
Instance details

Defined in Yesod.Core.Types

Show (Route WaiSubsiteWithAuth) Source # 
Instance details

Defined in Yesod.Core.Types

Eq (Route WaiSubsiteWithAuth) Source # 
Instance details

Defined in Yesod.Core.Types

Ord (Route WaiSubsiteWithAuth) Source # 
Instance details

Defined in Yesod.Core.Types

data Route WaiSubsiteWithAuth Source # 
Instance details

Defined in Yesod.Core.Types

data Route WaiSubsiteWithAuth = WaiSubsiteWithAuthRoute [Text] [(Text, Text)]

data RunHandlerEnv child site Source #

Constructors

RunHandlerEnv 

Fields

data HandlerData child site Source #

Constructors

HandlerData 

Fields

Instances

Instances details
MonadReader (HandlerData site site) (HandlerFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

ask :: HandlerFor site (HandlerData site site)

local :: (HandlerData site site -> HandlerData site site) -> HandlerFor site a -> HandlerFor site a

reader :: (HandlerData site site -> a) -> HandlerFor site a

MonadReader (HandlerData child master) (SubHandlerFor child master) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

ask :: SubHandlerFor child master (HandlerData child master)

local :: (HandlerData child master -> HandlerData child master) -> SubHandlerFor child master a -> SubHandlerFor child master a

reader :: (HandlerData child master -> a) -> SubHandlerFor child master a

data YesodRunnerEnv site Source #

Constructors

YesodRunnerEnv 

Fields

  • yreLogger :: !Logger
     
  • yreSite :: !site
     
  • yreSessionBackend :: !(Maybe SessionBackend)
     
  • yreGen :: !(IO Int)

    Generate a random number uniformly distributed in the full range of Int.

    Note: Before 1.6.20, the default value generates pseudo-random number in an unspecified range. The range size may not be a power of 2. Since 1.6.20, the default value uses a secure entropy source and generates in the full range of Int.

  • yreGetMaxExpires :: !(IO Text)
     

data YesodSubRunnerEnv sub parent Source #

Constructors

YesodSubRunnerEnv 

Fields

type ParentRunner parent = HandlerFor parent TypedContent -> YesodRunnerEnv parent -> Maybe (Route parent) -> Application Source #

newtype HandlerFor site a Source #

A generic handler monad, which can have a different subsite and master site. We define a newtype for better error message.

Constructors

HandlerFor 

Fields

Instances

Instances details
MonadIO (HandlerFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

liftIO :: IO a -> HandlerFor site a #

Applicative (HandlerFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

pure :: a -> HandlerFor site a

(<*>) :: HandlerFor site (a -> b) -> HandlerFor site a -> HandlerFor site b

liftA2 :: (a -> b -> c) -> HandlerFor site a -> HandlerFor site b -> HandlerFor site c

(*>) :: HandlerFor site a -> HandlerFor site b -> HandlerFor site b

(<*) :: HandlerFor site a -> HandlerFor site b -> HandlerFor site a

Functor (HandlerFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

fmap :: (a -> b) -> HandlerFor site a -> HandlerFor site b

(<$) :: a -> HandlerFor site b -> HandlerFor site a

Monad (HandlerFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

(>>=) :: HandlerFor site a -> (a -> HandlerFor site b) -> HandlerFor site b

(>>) :: HandlerFor site a -> HandlerFor site b -> HandlerFor site b

return :: a -> HandlerFor site a

MonadThrow (HandlerFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

throwM :: (HasCallStack, Exception e) => e -> HandlerFor site a

MonadLogger (HandlerFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> HandlerFor site ()

MonadLoggerIO (HandlerFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

askLoggerIO :: HandlerFor site (Loc -> LogSource -> LogLevel -> LogStr -> IO ())

PrimMonad (HandlerFor site) Source #

Since: 1.6.7

Instance details

Defined in Yesod.Core.Types

Associated Types

type PrimState (HandlerFor site) 
Instance details

Defined in Yesod.Core.Types

type PrimState (HandlerFor site) = PrimState IO

Methods

primitive :: (State# (PrimState (HandlerFor site)) -> (# State# (PrimState (HandlerFor site)), a #)) -> HandlerFor site a

MonadResource (HandlerFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

liftResourceT :: ResourceT IO a -> HandlerFor site a #

MonadUnliftIO (HandlerFor site) Source #

Since: 1.4.38

Instance details

Defined in Yesod.Core.Types

Methods

withRunInIO :: ((forall a. HandlerFor site a -> IO a) -> IO b) -> HandlerFor site b #

MonadHandler (HandlerFor site) Source # 
Instance details

Defined in Yesod.Core.Class.Handler

Associated Types

type HandlerSite (HandlerFor site) 
Instance details

Defined in Yesod.Core.Class.Handler

type HandlerSite (HandlerFor site) = site
type SubHandlerSite (HandlerFor site) 
Instance details

Defined in Yesod.Core.Class.Handler

type SubHandlerSite (HandlerFor site) = site
MonadReader (HandlerData site site) (HandlerFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

ask :: HandlerFor site (HandlerData site site)

local :: (HandlerData site site -> HandlerData site site) -> HandlerFor site a -> HandlerFor site a

reader :: (HandlerData site site -> a) -> HandlerFor site a

type PrimState (HandlerFor site) Source # 
Instance details

Defined in Yesod.Core.Types

type PrimState (HandlerFor site) = PrimState IO
type HandlerSite (HandlerFor site) Source # 
Instance details

Defined in Yesod.Core.Class.Handler

type HandlerSite (HandlerFor site) = site
type SubHandlerSite (HandlerFor site) Source # 
Instance details

Defined in Yesod.Core.Class.Handler

type SubHandlerSite (HandlerFor site) = site

data GHState Source #

Constructors

GHState 

Fields

type YesodApp = YesodRequest -> ResourceT IO YesodResponse Source #

An extension of the basic WAI Application datatype to provide extra features needed by Yesod. Users should never need to use this directly, as the HandlerFor monad and template haskell code should hide it away.

newtype WidgetFor site a Source #

A generic widget, allowing specification of both the subsite and master site datatypes. While this is simply a WriterT, we define a newtype for better error messages.

Constructors

WidgetFor 

Fields

Instances

Instances details
(site' ~ site, a ~ ()) => ToWidget site' (WidgetFor site a) Source # 
Instance details

Defined in Yesod.Core.Widget

Methods

toWidget :: (MonadWidget m, HandlerSite m ~ site') => WidgetFor site a -> m () Source #

MonadIO (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

liftIO :: IO a -> WidgetFor site a #

Applicative (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

pure :: a -> WidgetFor site a

(<*>) :: WidgetFor site (a -> b) -> WidgetFor site a -> WidgetFor site b

liftA2 :: (a -> b -> c) -> WidgetFor site a -> WidgetFor site b -> WidgetFor site c

(*>) :: WidgetFor site a -> WidgetFor site b -> WidgetFor site b

(<*) :: WidgetFor site a -> WidgetFor site b -> WidgetFor site a

Functor (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

fmap :: (a -> b) -> WidgetFor site a -> WidgetFor site b

(<$) :: a -> WidgetFor site b -> WidgetFor site a

Monad (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

(>>=) :: WidgetFor site a -> (a -> WidgetFor site b) -> WidgetFor site b

(>>) :: WidgetFor site a -> WidgetFor site b -> WidgetFor site b

return :: a -> WidgetFor site a

MonadThrow (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

throwM :: (HasCallStack, Exception e) => e -> WidgetFor site a

MonadLogger (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> WidgetFor site ()

MonadLoggerIO (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

askLoggerIO :: WidgetFor site (Loc -> LogSource -> LogLevel -> LogStr -> IO ())

PrimMonad (WidgetFor site) Source #

Since: 1.6.7

Instance details

Defined in Yesod.Core.Types

Associated Types

type PrimState (WidgetFor site) 
Instance details

Defined in Yesod.Core.Types

type PrimState (WidgetFor site) = PrimState IO

Methods

primitive :: (State# (PrimState (WidgetFor site)) -> (# State# (PrimState (WidgetFor site)), a #)) -> WidgetFor site a

MonadResource (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

liftResourceT :: ResourceT IO a -> WidgetFor site a #

MonadUnliftIO (WidgetFor site) Source #

Since: 1.4.38

Instance details

Defined in Yesod.Core.Types

Methods

withRunInIO :: ((forall a. WidgetFor site a -> IO a) -> IO b) -> WidgetFor site b #

MonadHandler (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Class.Handler

Associated Types

type HandlerSite (WidgetFor site) 
Instance details

Defined in Yesod.Core.Class.Handler

type HandlerSite (WidgetFor site) = site
type SubHandlerSite (WidgetFor site) 
Instance details

Defined in Yesod.Core.Class.Handler

type SubHandlerSite (WidgetFor site) = site
MonadWidget (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Class.Handler

Methods

liftWidget :: WidgetFor (HandlerSite (WidgetFor site)) a -> WidgetFor site a Source #

MonadReader (WidgetData site) (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

ask :: WidgetFor site (WidgetData site)

local :: (WidgetData site -> WidgetData site) -> WidgetFor site a -> WidgetFor site a

reader :: (WidgetData site -> a) -> WidgetFor site a

a ~ () => IsString (WidgetFor site a) Source #

A String can be trivially promoted to a widget.

For example, in a yesod-scaffold site you could use:

getHomeR = do defaultLayout "Widget text"
Instance details

Defined in Yesod.Core.Types

Methods

fromString :: String -> WidgetFor site a

a ~ () => Monoid (WidgetFor site a) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

mempty :: WidgetFor site a

mappend :: WidgetFor site a -> WidgetFor site a -> WidgetFor site a

mconcat :: [WidgetFor site a] -> WidgetFor site a

a ~ () => Semigroup (WidgetFor site a) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

(<>) :: WidgetFor site a -> WidgetFor site a -> WidgetFor site a

sconcat :: NonEmpty (WidgetFor site a) -> WidgetFor site a

stimes :: Integral b => b -> WidgetFor site a -> WidgetFor site a

type PrimState (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Types

type PrimState (WidgetFor site) = PrimState IO
type HandlerSite (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Class.Handler

type HandlerSite (WidgetFor site) = site
type SubHandlerSite (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Class.Handler

type SubHandlerSite (WidgetFor site) = site

data WidgetData site Source #

Constructors

WidgetData 

Fields

Instances

Instances details
MonadReader (WidgetData site) (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

ask :: WidgetFor site (WidgetData site)

local :: (WidgetData site -> WidgetData site) -> WidgetFor site a -> WidgetFor site a

reader :: (WidgetData site -> a) -> WidgetFor site a

tellWidget :: GWData (Route site) -> WidgetFor site () Source #

type RY master = Route master -> [(Text, Text)] -> Text Source #

newtype CssBuilder Source #

Newtype wrapper allowing injection of arbitrary content into CSS.

Usage:

toWidget $ CssBuilder "p { color: red }"

Since: 1.1.3

Constructors

CssBuilder 

Fields

Instances

Instances details
ToWidget site CssBuilder Source # 
Instance details

Defined in Yesod.Core.Widget

Methods

toWidget :: (MonadWidget m, HandlerSite m ~ site) => CssBuilder -> m () Source #

ToWidgetHead site CssBuilder Source # 
Instance details

Defined in Yesod.Core.Widget

Methods

toWidgetHead :: (MonadWidget m, HandlerSite m ~ site) => CssBuilder -> m () Source #

ToWidgetMedia site CssBuilder Source # 
Instance details

Defined in Yesod.Core.Widget

Methods

toWidgetMedia :: (MonadWidget m, HandlerSite m ~ site) => Text -> CssBuilder -> m () Source #

render ~ RY site => ToWidget site (render -> CssBuilder) Source # 
Instance details

Defined in Yesod.Core.Widget

Methods

toWidget :: (MonadWidget m, HandlerSite m ~ site) => (render -> CssBuilder) -> m () Source #

render ~ RY site => ToWidgetHead site (render -> CssBuilder) Source # 
Instance details

Defined in Yesod.Core.Widget

Methods

toWidgetHead :: (MonadWidget m, HandlerSite m ~ site) => (render -> CssBuilder) -> m () Source #

render ~ RY site => ToWidgetMedia site (render -> CssBuilder) Source # 
Instance details

Defined in Yesod.Core.Widget

Methods

toWidgetMedia :: (MonadWidget m, HandlerSite m ~ site) => Text -> (render -> CssBuilder) -> m () Source #

data PageContent url Source #

Content for a web page. By providing this datatype, we can easily create generic site templates, which would have the type signature:

PageContent url -> HtmlUrl url

Constructors

PageContent 

Fields

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

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

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

type ContentType = ByteString Source #

data JSONResponse a where Source #

Wrapper around types so that Handlers can return a domain type, even when the data will eventually be encoded as JSON. Example usage in a type signature:

postSignupR :: Handler (JSONResponse CreateUserResponse)

And in the implementation:

return $ JSONResponse $ CreateUserResponse userId

Since: 1.6.14

Constructors

JSONResponse :: forall a. ToJSON a => a -> JSONResponse a 

Instances

Instances details
HasContentType (JSONResponse a) Source # 
Instance details

Defined in Yesod.Core.Content

Methods

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

ToContent (JSONResponse a) Source # 
Instance details

Defined in Yesod.Core.Content

ToTypedContent (JSONResponse a) Source # 
Instance details

Defined in Yesod.Core.Content

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

data ErrorResponse Source #

Responses to indicate some form of an error occurred.

Constructors

NotFound

The requested resource was not found. Examples of when this occurs include when an incorrect URL is used, or yesod-persistent's get404 doesn't find a value. HTTP status: 404.

InternalError !Text

Some sort of unexpected exception. If your application uses throwIO or error to throw an exception, this is the form it would take. HTTP status: 500.

InvalidArgs ![Text]

Indicates some sort of invalid or missing argument, like a missing query parameter or malformed JSON body. Examples Yesod functions that send this include requireCheckJsonBody and Yesod.Auth.GoogleEmail2. HTTP status: 400.

NotAuthenticated

Indicates the user is not logged in. This is thrown when isAuthorized returns AuthenticationRequired. HTTP code: 401.

PermissionDenied !Text

Indicates the user doesn't have permission to access the requested resource. This is thrown when isAuthorized returns Unauthorized. HTTP code: 403.

BadMethod !Method

Indicates the URL would have been valid if used with a different HTTP method (e.g. a GET was used, but only POST is handled.) HTTP code: 405.

Instances

Instances details
Generic ErrorResponse Source # 
Instance details

Defined in Yesod.Core.Types

Associated Types

type Rep ErrorResponse 
Instance details

Defined in Yesod.Core.Types

type Rep ErrorResponse = D1 ('MetaData "ErrorResponse" "Yesod.Core.Types" "yesod-core-1.6.26.0-3zTwyMUhS32NdsDCctA4C" 'False) ((C1 ('MetaCons "NotFound" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "InternalError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :+: C1 ('MetaCons "InvalidArgs" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Text])))) :+: (C1 ('MetaCons "NotAuthenticated" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "PermissionDenied" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :+: C1 ('MetaCons "BadMethod" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Method)))))
Show ErrorResponse Source # 
Instance details

Defined in Yesod.Core.Types

Methods

showsPrec :: Int -> ErrorResponse -> ShowS

show :: ErrorResponse -> String

showList :: [ErrorResponse] -> ShowS

NFData ErrorResponse Source # 
Instance details

Defined in Yesod.Core.Types

Methods

rnf :: ErrorResponse -> ()

Eq ErrorResponse Source # 
Instance details

Defined in Yesod.Core.Types

type Rep ErrorResponse Source # 
Instance details

Defined in Yesod.Core.Types

type Rep ErrorResponse = D1 ('MetaData "ErrorResponse" "Yesod.Core.Types" "yesod-core-1.6.26.0-3zTwyMUhS32NdsDCctA4C" 'False) ((C1 ('MetaCons "NotFound" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "InternalError" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :+: C1 ('MetaCons "InvalidArgs" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 [Text])))) :+: (C1 ('MetaCons "NotAuthenticated" 'PrefixI 'False) (U1 :: Type -> Type) :+: (C1 ('MetaCons "PermissionDenied" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Text)) :+: C1 ('MetaCons "BadMethod" 'PrefixI 'False) (S1 ('MetaSel ('Nothing :: Maybe Symbol) 'NoSourceUnpackedness 'SourceStrict 'DecidedStrict) (Rec0 Method)))))

data Header Source #

Headers to be added to a Result.

Constructors

AddCookie !SetCookie 
DeleteCookie !ByteString !ByteString

name and path

Header !(CI ByteString) !ByteString

key and value

Instances

Instances details
Show Header Source # 
Instance details

Defined in Yesod.Core.Types

Methods

showsPrec :: Int -> Header -> ShowS

show :: Header -> String

showList :: [Header] -> ShowS

NFData Header Source # 
Instance details

Defined in Yesod.Core.Types

Methods

rnf :: Header -> ()

Eq Header Source # 
Instance details

Defined in Yesod.Core.Types

Methods

(==) :: Header -> Header -> Bool

(/=) :: Header -> Header -> Bool

data Location url Source #

Constructors

Local !url 
Remote !Text 

Instances

Instances details
Show url => Show (Location url) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

showsPrec :: Int -> Location url -> ShowS

show :: Location url -> String

showList :: [Location url] -> ShowS

Eq url => Eq (Location url) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

(==) :: Location url -> Location url -> Bool

(/=) :: Location url -> Location url -> Bool

newtype UniqueList x Source #

A diff list that does not directly enforce uniqueness. When creating a widget Yesod will use nub to make it unique.

Constructors

UniqueList ([x] -> [x]) 

Instances

Instances details
Monoid (UniqueList x) Source # 
Instance details

Defined in Yesod.Core.Types

Semigroup (UniqueList x) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

(<>) :: UniqueList x -> UniqueList x -> UniqueList x

sconcat :: NonEmpty (UniqueList x) -> UniqueList x

stimes :: Integral b => b -> UniqueList x -> UniqueList x

data Script url Source #

Constructors

Script 

Fields

Instances

Instances details
Show url => Show (Script url) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

showsPrec :: Int -> Script url -> ShowS

show :: Script url -> String

showList :: [Script url] -> ShowS

Eq url => Eq (Script url) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

(==) :: Script url -> Script url -> Bool

(/=) :: Script url -> Script url -> Bool

data Stylesheet url Source #

Constructors

Stylesheet 

Fields

Instances

Instances details
Show url => Show (Stylesheet url) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

showsPrec :: Int -> Stylesheet url -> ShowS

show :: Stylesheet url -> String

showList :: [Stylesheet url] -> ShowS

Eq url => Eq (Stylesheet url) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

(==) :: Stylesheet url -> Stylesheet url -> Bool

(/=) :: Stylesheet url -> Stylesheet url -> Bool

newtype Title Source #

Constructors

Title 

Fields

newtype Description Source #

Constructors

Description 

Fields

newtype Head url Source #

Constructors

Head (HtmlUrl url) 

Instances

Instances details
Monoid (Head url) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

mempty :: Head url

mappend :: Head url -> Head url -> Head url

mconcat :: [Head url] -> Head url

Semigroup (Head url) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

(<>) :: Head url -> Head url -> Head url

sconcat :: NonEmpty (Head url) -> Head url

stimes :: Integral b => b -> Head url -> Head url

newtype Body url Source #

Constructors

Body (HtmlUrl url) 

Instances

Instances details
Monoid (Body url) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

mempty :: Body url

mappend :: Body url -> Body url -> Body url

mconcat :: [Body url] -> Body url

Semigroup (Body url) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

(<>) :: Body url -> Body url -> Body url

sconcat :: NonEmpty (Body url) -> Body url

stimes :: Integral b => b -> Body url -> Body url

type CssBuilderUrl a = (a -> [(Text, Text)] -> Text) -> Builder Source #

data GWData a Source #

Constructors

GWData 

Fields

Instances

Instances details
Monoid (GWData a) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

mempty :: GWData a

mappend :: GWData a -> GWData a -> GWData a

mconcat :: [GWData a] -> GWData a

Semigroup (GWData a) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

(<>) :: GWData a -> GWData a -> GWData a

sconcat :: NonEmpty (GWData a) -> GWData a

stimes :: Integral b => b -> GWData a -> GWData a

data HandlerContents Source #

Constructors

HCContent !Status !TypedContent 
HCError !ErrorResponse 
HCSendFile !ContentType !FilePath !(Maybe FilePart) 
HCRedirect !Status !Text 
HCCreated !Text 
HCWai !Response 
HCWaiApp !Application 

Instances

Instances details
Exception HandlerContents Source # 
Instance details

Defined in Yesod.Core.Types

Methods

toException :: HandlerContents -> SomeException

fromException :: SomeException -> Maybe HandlerContents

displayException :: HandlerContents -> String

Show HandlerContents Source # 
Instance details

Defined in Yesod.Core.Types

Methods

showsPrec :: Int -> HandlerContents -> ShowS

show :: HandlerContents -> String

showList :: [HandlerContents] -> ShowS

data Logger Source #

Constructors

Logger 

Fields

loggerPutStr :: Logger -> LogStr -> IO () Source #

newtype SubHandlerFor sub master a Source #

A handler monad for subsite

Since: 1.6.0

Constructors

SubHandlerFor 

Fields

Instances

Instances details
MonadIO (SubHandlerFor child master) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

liftIO :: IO a -> SubHandlerFor child master a #

Applicative (SubHandlerFor child master) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

pure :: a -> SubHandlerFor child master a

(<*>) :: SubHandlerFor child master (a -> b) -> SubHandlerFor child master a -> SubHandlerFor child master b

liftA2 :: (a -> b -> c) -> SubHandlerFor child master a -> SubHandlerFor child master b -> SubHandlerFor child master c

(*>) :: SubHandlerFor child master a -> SubHandlerFor child master b -> SubHandlerFor child master b

(<*) :: SubHandlerFor child master a -> SubHandlerFor child master b -> SubHandlerFor child master a

Functor (SubHandlerFor sub master) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

fmap :: (a -> b) -> SubHandlerFor sub master a -> SubHandlerFor sub master b

(<$) :: a -> SubHandlerFor sub master b -> SubHandlerFor sub master a

Monad (SubHandlerFor child master) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

(>>=) :: SubHandlerFor child master a -> (a -> SubHandlerFor child master b) -> SubHandlerFor child master b

(>>) :: SubHandlerFor child master a -> SubHandlerFor child master b -> SubHandlerFor child master b

return :: a -> SubHandlerFor child master a

MonadThrow (SubHandlerFor child master) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

throwM :: (HasCallStack, Exception e) => e -> SubHandlerFor child master a

MonadLogger (SubHandlerFor child master) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

monadLoggerLog :: ToLogStr msg => Loc -> LogSource -> LogLevel -> msg -> SubHandlerFor child master ()

MonadLoggerIO (SubHandlerFor child master) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

askLoggerIO :: SubHandlerFor child master (Loc -> LogSource -> LogLevel -> LogStr -> IO ())

MonadResource (SubHandlerFor child master) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

liftResourceT :: ResourceT IO a -> SubHandlerFor child master a #

MonadUnliftIO (SubHandlerFor child master) Source #

Since: 1.4.38

Instance details

Defined in Yesod.Core.Types

Methods

withRunInIO :: ((forall a. SubHandlerFor child master a -> IO a) -> IO b) -> SubHandlerFor child master b #

MonadHandler (SubHandlerFor sub master) Source # 
Instance details

Defined in Yesod.Core.Class.Handler

Associated Types

type HandlerSite (SubHandlerFor sub master) 
Instance details

Defined in Yesod.Core.Class.Handler

type HandlerSite (SubHandlerFor sub master) = master
type SubHandlerSite (SubHandlerFor sub master) 
Instance details

Defined in Yesod.Core.Class.Handler

type SubHandlerSite (SubHandlerFor sub master) = sub
MonadReader (HandlerData child master) (SubHandlerFor child master) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

ask :: SubHandlerFor child master (HandlerData child master)

local :: (HandlerData child master -> HandlerData child master) -> SubHandlerFor child master a -> SubHandlerFor child master a

reader :: (HandlerData child master -> a) -> SubHandlerFor child master a

type HandlerSite (SubHandlerFor sub master) Source # 
Instance details

Defined in Yesod.Core.Class.Handler

type HandlerSite (SubHandlerFor sub master) = master
type SubHandlerSite (SubHandlerFor sub master) Source # 
Instance details

Defined in Yesod.Core.Class.Handler

type SubHandlerSite (SubHandlerFor sub master) = sub