yesod-core
Safe HaskellNone
LanguageHaskell2010

Yesod.Core.Types

Synopsis

Documentation

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

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

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

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

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

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 #

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

newtype Description Source #

Constructors

Description 

Fields

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

Constructors

FileInfo 

Fields

data FileUpload Source #

Constructors

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

data GHState Source #

Constructors

GHState 

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

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
MonadThrow (HandlerFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

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

rethrowM :: Exception e => ExceptionWithContext e -> 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

MonadIO (HandlerFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

liftIO :: IO a -> 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

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

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

Defined in Yesod.Core.Types

Methods

rnf :: Header -> ()

Show Header Source # 
Instance details

Defined in Yesod.Core.Types

Methods

showsPrec :: Int -> Header -> ShowS

show :: Header -> String

showList :: [Header] -> ShowS

Eq Header Source # 
Instance details

Defined in Yesod.Core.Types

Methods

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

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

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

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

data Logger Source #

Constructors

Logger 

Fields

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

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

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

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 RequestBodyContents = ([(Text, Text)], [(Text, FileInfo)]) Source #

A tuple containing both the POST parameters and submitted files.

data RunHandlerEnv child site Source #

Constructors

RunHandlerEnv 

Fields

type SaveSession Source #

Arguments

 = SessionMap

The session contents after running the handler

-> IO [Header] 

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

newtype SessionBackend Source #

Constructors

SessionBackend 

Fields

data SessionCookie Source #

Constructors

SessionCookie !(Either UTCTime ByteString) !ByteString !SessionMap 

Instances

Instances details
Serialize SessionCookie Source # 
Instance details

Defined in Yesod.Core.Types

Methods

put :: Putter SessionCookie

get :: Get SessionCookie

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

type SessionMap = Map Text ByteString Source #

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 SubHandlerFor sub master a Source #

A handler monad for subsite

Since: 1.6.0

Constructors

SubHandlerFor 

Fields

Instances

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

Defined in Yesod.Core.Types

Methods

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

rethrowM :: Exception e => ExceptionWithContext e -> 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

MonadIO (SubHandlerFor child master) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

liftIO :: IO a -> 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

type Texts = [Text] Source #

newtype Title Source #

Constructors

Title 

Fields

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

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

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 #

MonadThrow (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

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

rethrowM :: Exception e => ExceptionWithContext e -> 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

MonadIO (WidgetFor site) Source # 
Instance details

Defined in Yesod.Core.Types

Methods

liftIO :: IO a -> 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 ~ () => 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

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

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

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.

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 

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

WaiSubsiteRoute :: [Text] %1 -> [(Text, Text)] %1 -> Route WaiSubsite Source #

WaiSubsiteWithAuthRoute :: [Text] %1 -> [(Text, Text)] %1 -> Route WaiSubsiteWithAuth Source #

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

Defined in Yesod.Core.Types.ErrorResponse

Methods

rnf :: ErrorResponse -> ()

Generic ErrorResponse Source # 
Instance details

Defined in Yesod.Core.Types.ErrorResponse

Associated Types

type Rep ErrorResponse 
Instance details

Defined in Yesod.Core.Types.ErrorResponse

type Rep ErrorResponse = D1 ('MetaData "ErrorResponse" "Yesod.Core.Types.ErrorResponse" "yesod-core-1.6.29.1-Gi5f1gF79wTKbw2OkKHdRE" '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.ErrorResponse

Methods

showsPrec :: Int -> ErrorResponse -> ShowS

show :: ErrorResponse -> String

showList :: [ErrorResponse] -> ShowS

Eq ErrorResponse Source # 
Instance details

Defined in Yesod.Core.Types.ErrorResponse

type Rep ErrorResponse Source # 
Instance details

Defined in Yesod.Core.Types.ErrorResponse

type Rep ErrorResponse = D1 ('MetaData "ErrorResponse" "Yesod.Core.Types.ErrorResponse" "yesod-core-1.6.29.1-Gi5f1gF79wTKbw2OkKHdRE" '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 Content Source #

Constructors

ContentBuilder !Builder !(Maybe Int)

The content and optional content length.

Note that, despite Builder's laziness, this is entirely forced into memory by default in order to catch imprecise exceptions before beginning to respond. If you are confident you don't have imprecise exceptions, you may disable this by wrapping the ToContent data in DontFullyEvaluate.-

ContentSource !(ConduitT () (Flush Builder) (ResourceT IO) ()) 
ContentFile !FilePath !(Maybe FilePart) 
ContentDontEvaluate !Content

Used internally to wrap ContentBuilders to disable forcing them. No effect on other Content.

Instances

Instances details
IsString Content 
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

typedContentToSnippet :: TypedContent -> Int64 -> Maybe Text Source #

Represents TypedContent as a String, rendering at most a specified number of bytes of the content, and annotating it with the remaining length. Returns Nothing if the content type indicates the content is binary data.

Since: 1.6.28.0

type ContentType = ByteString Source #

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

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.HandlerContents

Methods

toException :: HandlerContents -> SomeException

fromException :: SomeException -> Maybe HandlerContents

displayException :: HandlerContents -> String

backtraceDesired :: HandlerContents -> Bool

Show HandlerContents Source # 
Instance details

Defined in Yesod.Core.Types.HandlerContents

Methods

showsPrec :: Int -> HandlerContents -> ShowS

show :: HandlerContents -> String

showList :: [HandlerContents] -> ShowS

getTime :: Get UTCTime Source #

putTime :: UTCTime -> Put Source #

class RenderRoute a => ParseRoute a where Source #

Methods

parseRoute Source #

Arguments

:: ([Text], [(Text, Text)])

The path of the URL split on forward slashes, and a list of query parameters with their associated value.

-> Maybe (Route a) 

Instances

Instances details
ParseRoute LiteApp Source # 
Instance details

Defined in Yesod.Core.Internal.LiteApp

Methods

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

ParseRoute WaiSubsite Source # 
Instance details

Defined in Yesod.Core.Types

Methods

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

ParseRoute WaiSubsiteWithAuth Source # 
Instance details

Defined in Yesod.Core.Types

Methods

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

class Eq (Route a) => RenderRoute a where Source #

Associated Types

data Route a Source #

The type-safe URLs associated with a site argument.

Methods

renderRoute Source #

Arguments

:: Route a 
-> ([Text], [(Text, Text)])

The path of the URL split on forward slashes, and a list of query parameters with their associated value.

Instances

Instances details
RenderRoute LiteApp Source # 
Instance details

Defined in Yesod.Core.Internal.LiteApp

Associated Types

data Route LiteApp 
Instance details

Defined in Yesod.Core.Internal.LiteApp

data Route LiteApp = LiteAppRoute [Text]

Methods

renderRoute :: Route LiteApp -> ([Text], [(Text, Text)]) 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 #

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 #

data family Route a Source #

The type-safe URLs associated with a site argument.

Instances

Instances details
RedirectUrl master (Route master) Source # 
Instance details

Defined in Yesod.Core.Handler

Methods

toTextUrl :: (MonadHandler m, HandlerSite m ~ master) => Route master -> m Text Source #

(key ~ Text, val ~ Text) => RedirectUrl master (Route master, Map key val) Source # 
Instance details

Defined in Yesod.Core.Handler

Methods

toTextUrl :: (MonadHandler m, HandlerSite m ~ master) => (Route master, Map key val) -> m Text Source #

(key ~ Text, val ~ Text) => RedirectUrl master (Route master, [(key, val)]) Source # 
Instance details

Defined in Yesod.Core.Handler

Methods

toTextUrl :: (MonadHandler m, HandlerSite m ~ master) => (Route master, [(key, val)]) -> m Text Source #

Read (Route LiteApp) 
Instance details

Defined in Yesod.Core.Internal.LiteApp

Methods

readsPrec :: Int -> ReadS (Route LiteApp)

readList :: ReadS [Route LiteApp]

readPrec :: ReadPrec (Route LiteApp)

readListPrec :: ReadPrec [Route LiteApp]

Read (Route WaiSubsite) 
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]

Read (Route WaiSubsiteWithAuth) 
Instance details

Defined in Yesod.Core.Types

Show (Route LiteApp) 
Instance details

Defined in Yesod.Core.Internal.LiteApp

Methods

showsPrec :: Int -> Route LiteApp -> ShowS

show :: Route LiteApp -> String

showList :: [Route LiteApp] -> ShowS

Show (Route WaiSubsite) 
Instance details

Defined in Yesod.Core.Types

Methods

showsPrec :: Int -> Route WaiSubsite -> ShowS

show :: Route WaiSubsite -> String

showList :: [Route WaiSubsite] -> ShowS

Show (Route WaiSubsiteWithAuth) 
Instance details

Defined in Yesod.Core.Types

Eq (Route LiteApp) 
Instance details

Defined in Yesod.Core.Internal.LiteApp

Methods

(==) :: Route LiteApp -> Route LiteApp -> Bool

(/=) :: Route LiteApp -> Route LiteApp -> Bool

Eq (Route WaiSubsite) 
Instance details

Defined in Yesod.Core.Types

Eq (Route WaiSubsiteWithAuth) 
Instance details

Defined in Yesod.Core.Types

Ord (Route LiteApp) 
Instance details

Defined in Yesod.Core.Internal.LiteApp

Ord (Route WaiSubsite) 
Instance details

Defined in Yesod.Core.Types

Ord (Route WaiSubsiteWithAuth) 
Instance details

Defined in Yesod.Core.Types

data Route LiteApp Source # 
Instance details

Defined in Yesod.Core.Internal.LiteApp

data Route LiteApp = LiteAppRoute [Text]
data Route WaiSubsite Source # 
Instance details

Defined in Yesod.Core.Types

data Route WaiSubsite = WaiSubsiteRoute [Text] [(Text, Text)]
data Route WaiSubsiteWithAuth Source # 
Instance details

Defined in Yesod.Core.Types

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

type KeyedTypeMap = HashMap (TypeRep, ByteString) Dynamic Source #

type TypeMap = HashMap TypeRep Dynamic Source #

Orphan instances

IsString Content Source # 
Instance details

Methods

fromString :: String -> Content