| Safe Haskell | None | 
|---|
Yesod.Core.Types
- type SessionMap = Map Text ByteString
- type SaveSession = SessionMap -> IO [Header]
- newtype  SessionBackend  = SessionBackend {- sbLoadSession :: Request -> IO (SessionMap, SaveSession)
 
- data SessionCookie = SessionCookie (Either UTCTime ByteString) ByteString SessionMap
- data ClientSessionDateCache = ClientSessionDateCache {}
- data  YesodRequest  = YesodRequest {- reqGetParams :: ![(Text, Text)]
- reqCookies :: ![(Text, Text)]
- reqWaiRequest :: !Request
- reqLangs :: ![Text]
- reqToken :: !(Maybe Text)
- reqSession :: !SessionMap
- reqAccept :: ![ContentType]
 
- data  YesodResponse - = YRWai !Response
- | YRPlain !Status ![Header] !ContentType !Content !SessionMap
 
- type RequestBodyContents = ([(Text, Text)], [(Text, FileInfo)])
- data  FileInfo  = FileInfo {- fileName :: !Text
- fileContentType :: !Text
- fileSourceRaw :: !(Source (ResourceT IO) ByteString)
- fileMove :: !(FilePath -> IO ())
 
- data  FileUpload - = FileUploadMemory !(BackEnd ByteString)
- | FileUploadDisk !(InternalState -> BackEnd FilePath)
- | FileUploadSource !(BackEnd (Source (ResourceT IO) ByteString))
 
- data  Approot master- = ApprootRelative
- | ApprootStatic !Text
- | ApprootMaster !(master -> Text)
- | ApprootRequest !(master -> Request -> Text)
 
- type ResolvedApproot = Text
- data AuthResult
- data  ScriptLoadPosition master- = BottomOfBody
- | BottomOfHeadBlocking
- | BottomOfHeadAsync (BottomOfHeadAsync master)
 
- type BottomOfHeadAsync master = [Text] -> Maybe (HtmlUrl (Route master)) -> HtmlUrl (Route master)
- newtype Cache = Cache (Map TypeRep Dynamic)
- type Texts = [Text]
- newtype WaiSubsite = WaiSubsite {}
- data RunHandlerEnv site = RunHandlerEnv {}
- data  HandlerData site parentRoute = HandlerData {- handlerRequest :: !YesodRequest
- handlerEnv :: !(RunHandlerEnv site)
- handlerState :: !(IORef GHState)
- handlerToParent :: !(Route site -> parentRoute)
- handlerResource :: !InternalState
 
- data  YesodRunnerEnv site = YesodRunnerEnv {- yreLogger :: !Logger
- yreSite :: !site
- yreSessionBackend :: !(Maybe SessionBackend)
 
- data  YesodSubRunnerEnv sub parent parentMonad = YesodSubRunnerEnv {- ysreParentRunner :: !(ParentRunner parent parentMonad)
- ysreGetSub :: !(parent -> sub)
- ysreToParentRoute :: !(Route sub -> Route parent)
- ysreParentEnv :: !(YesodRunnerEnv parent)
 
- type ParentRunner parent m = m TypedContent -> YesodRunnerEnv parent -> Maybe (Route parent) -> Application
- newtype  HandlerT site m a = HandlerT {- unHandlerT :: HandlerData site (MonadRoute m) -> m a
 
- type family MonadRoute m
- data  GHState  = GHState {- ghsSession :: SessionMap
- ghsRBC :: Maybe RequestBodyContents
- ghsIdent :: Int
- ghsCache :: Cache
- ghsHeaders :: Endo [Header]
 
- type YesodApp = YesodRequest -> ResourceT IO YesodResponse
- newtype  WidgetT site m a = WidgetT {- unWidgetT :: HandlerData site (MonadRoute m) -> m (a, GWData (Route site))
 
- type RY master = Route master -> [(Text, Text)] -> Text
- newtype CssBuilder = CssBuilder {}
- data PageContent url = PageContent {}
- data  Content - = ContentBuilder !Builder !(Maybe Int)
- | ContentSource !(Source (ResourceT IO) (Flush Builder))
- | ContentFile !FilePath !(Maybe FilePart)
- | ContentDontEvaluate !Content
 
- data TypedContent = TypedContent !ContentType !Content
- type RepHtml = Html
- newtype RepJson = RepJson Content
- newtype RepPlain = RepPlain Content
- newtype RepXml = RepXml Content
- type ContentType = ByteString
- newtype  DontFullyEvaluate a = DontFullyEvaluate {- unDontFullyEvaluate :: a
 
- data  ErrorResponse - = NotFound
- | InternalError Text
- | InvalidArgs [Text]
- | NotAuthenticated
- | PermissionDenied Text
- | BadMethod Method
 
- data Header
- data Location url
- newtype UniqueList x = UniqueList ([x] -> [x])
- data  Script url = Script {- scriptLocation :: Location url
- scriptAttributes :: [(Text, Text)]
 
- data  Stylesheet url = Stylesheet {- styleLocation :: Location url
- styleAttributes :: [(Text, Text)]
 
- newtype Title = Title {}
- newtype Head url = Head (HtmlUrl url)
- newtype Body url = Body (HtmlUrl url)
- type CssBuilderUrl a = (a -> [(Text, Text)] -> Text) -> Builder
- data  GWData a = GWData {- gwdBody :: !(Body a)
- gwdTitle :: !(Last Title)
- gwdScripts :: !(UniqueList (Script a))
- gwdStylesheets :: !(UniqueList (Stylesheet a))
- gwdCss :: !(Map (Maybe Text) (CssBuilderUrl a))
- gwdJavascript :: !(Maybe (JavascriptUrl a))
- gwdHead :: !(Head a)
 
- data HandlerContents
- data Logger = Logger {}
- loggerPutStr :: Logger -> LogStr -> IO ()
Documentation
type SessionMap = Map Text ByteStringSource
type SaveSessionSource
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
data ClientSessionDateCache Source
Constructors
| ClientSessionDateCache | |
| Fields 
 | |
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 | |
| YRPlain !Status ![Header] !ContentType !Content !SessionMap | 
type RequestBodyContents = ([(Text, Text)], [(Text, FileInfo)])Source
A tuple containing both the POST parameters and submitted files.
Constructors
| FileInfo | |
| Fields 
 | |
data FileUpload Source
Constructors
| FileUploadMemory !(BackEnd ByteString) | |
| FileUploadDisk !(InternalState -> BackEnd FilePath) | |
| FileUploadSource !(BackEnd (Source (ResourceT IO) ByteString)) | 
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) | 
type ResolvedApproot = TextSource
data ScriptLoadPosition master Source
Constructors
| BottomOfBody | |
| BottomOfHeadBlocking | |
| BottomOfHeadAsync (BottomOfHeadAsync master) | 
type BottomOfHeadAsync masterSource
newtype WaiSubsite Source
Wrap up a normal WAI application as a Yesod subsite.
Constructors
| WaiSubsite | |
| Fields | |
Instances
data RunHandlerEnv site Source
Constructors
| RunHandlerEnv | |
| Fields 
 | |
data HandlerData site parentRoute Source
Constructors
| HandlerData | |
| Fields 
 | |
data YesodRunnerEnv site Source
Constructors
| YesodRunnerEnv | |
| Fields 
 | |
data YesodSubRunnerEnv sub parent parentMonad Source
Constructors
| YesodSubRunnerEnv | |
| Fields 
 | |
type ParentRunner parent m = m TypedContent -> YesodRunnerEnv parent -> Maybe (Route parent) -> ApplicationSource
newtype HandlerT site m a Source
A generic handler monad, which can have a different subsite and master site. We define a newtype for better error message.
Constructors
| HandlerT | |
| Fields 
 | |
Instances
| MonadBase b m => MonadBase b (HandlerT site m) | |
| MonadBaseControl b m => MonadBaseControl b (HandlerT site m) | Note: although we provide a  Using fork usually leads to an exception that says "Control.Monad.Trans.Resource.register': The mutable state is being accessed after cleanup. Please contact the maintainers." | 
| Monad m => MonadReader site (HandlerT site m) | |
| MonadTrans (HandlerT site) | |
| Monad m => Monad (HandlerT site m) | |
| Monad m => Functor (HandlerT site m) | |
| Monad m => Applicative (HandlerT site m) | |
| MonadThrow m => MonadThrow (HandlerT site m) | |
| MonadCatch m => MonadCatch (HandlerT site m) | |
| MonadMask m => MonadMask (HandlerT site m) | |
| MonadIO m => MonadLogger (HandlerT site m) | |
| MonadIO m => MonadIO (HandlerT site m) | |
| (MonadIO m, MonadBase IO m, MonadThrow m) => MonadResource (HandlerT site m) | |
| MonadResourceBase m => MonadHandler (HandlerT site m) | 
type family MonadRoute m Source
Constructors
| GHState | |
| Fields 
 | |
type YesodApp = YesodRequest -> ResourceT IO YesodResponseSource
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 HandlerT monad and template haskell code should hide it away.
newtype WidgetT site m 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
| WidgetT | |
| Fields 
 | |
Instances
| MonadBase b m => MonadBase b (WidgetT site m) | |
| MonadBaseControl b m => MonadBaseControl b (WidgetT site m) | |
| Monad m => MonadReader site (WidgetT site m) | |
| (~ * site' site, ~ (* -> *) IO m, ~ * a ()) => ToWidget site' (WidgetT site m a) | |
| MonadTrans (WidgetT site) | |
| Monad m => Monad (WidgetT site m) | |
| Monad m => Functor (WidgetT site m) | |
| Monad m => Applicative (WidgetT site m) | |
| MonadThrow m => MonadThrow (WidgetT site m) | |
| MonadCatch m => MonadCatch (WidgetT site m) | |
| MonadMask m => MonadMask (WidgetT site m) | |
| MonadIO m => MonadLogger (WidgetT site m) | |
| MonadIO m => MonadIO (WidgetT site m) | |
| (Applicative m, MonadIO m, MonadBase IO m, MonadThrow m) => MonadResource (WidgetT site m) | |
| MonadResourceBase m => MonadWidget (WidgetT site m) | |
| MonadResourceBase m => MonadHandler (WidgetT site m) | |
| (~ * a (), Monad m) => Monoid (WidgetT site m a) | 
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
| ToWidgetHead site CssBuilder | |
| ToWidgetMedia site CssBuilder | |
| ToWidget site CssBuilder | |
| ~ * render (RY site) => ToWidgetHead site (render -> CssBuilder) | |
| ~ * render (RY site) => ToWidgetMedia site (render -> CssBuilder) | |
| ~ * render (RY site) => ToWidget site (render -> CssBuilder) | 
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
| ContentBuilder !Builder !(Maybe Int) | The content and optional content length. | 
| ContentSource !(Source (ResourceT IO) (Flush Builder)) | |
| ContentFile !FilePath !(Maybe FilePart) | |
| ContentDontEvaluate !Content | 
Instances
Instances
type ContentType = ByteStringSource
newtype DontFullyEvaluate a Source
Prevents a response body from being fully evaluated before sending the request.
Since 1.1.0
Constructors
| DontFullyEvaluate | |
| Fields 
 | |
Instances
| ToTypedContent a => ToTypedContent (DontFullyEvaluate a) | |
| HasContentType a => HasContentType (DontFullyEvaluate a) | |
| ToContent a => ToContent (DontFullyEvaluate a) | 
data ErrorResponse Source
Responses to indicate some form of an error occurred. These are different
 from SpecialResponse in that they allow for custom error pages.
Constructors
| NotFound | |
| InternalError Text | |
| InvalidArgs [Text] | |
| NotAuthenticated | |
| PermissionDenied Text | |
| BadMethod Method | 
Instances
Headers to be added to a Result.
Constructors
| AddCookie SetCookie | |
| DeleteCookie ByteString ByteString | |
| Header ByteString ByteString | 
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
| Monoid (UniqueList x) | 
Constructors
| Script | |
| Fields 
 | |
data Stylesheet url Source
Constructors
| Stylesheet | |
| Fields 
 | |
Instances
| Eq url => Eq (Stylesheet url) | |
| Show url => Show (Stylesheet url) | 
Constructors
| GWData | |
| Fields 
 | |
data HandlerContents Source
Constructors
| Logger | |
| Fields 
 | |
loggerPutStr :: Logger -> LogStr -> IO ()Source