module Yesod.Core
    ( 
      Yesod (..)
    , YesodDispatch (..)
    , RenderRoute (..)
      
    , YesodBreadcrumbs (..)
    , breadcrumbs
      
    , Approot (..)
    , FileUpload (..)
      
    , maybeAuthorized
    , widgetToPageContent
      
    , defaultErrorHandler
      
    , AuthResult (..)
    , unauthorizedI
      
    , LogLevel (..)
    , logDebug
    , logInfo
    , logWarn
    , logError
    , logOther
      
    , SessionBackend (..)
    , defaultClientSessionBackend
    , clientSessionBackend
    , loadClientSession
    , Header(..)
    , BackendSession
    
    , loadJsYepnope
    , ScriptLoadPosition (..)
    , BottomOfHeadAsync
      
    , yesodVersion
    , yesodRender
    , runFakeHandler
      
    , module Yesod.Content
    , module Yesod.Dispatch
    , module Yesod.Handler
    , module Yesod.Request
    , module Yesod.Widget
    , module Yesod.Message
    ) where
import Yesod.Internal.Core
import Yesod.Internal (Header(..))
import Yesod.Content
import Yesod.Dispatch
import Yesod.Handler
import Yesod.Request
import Yesod.Widget
import Yesod.Message
import Control.Monad.Logger
unauthorizedI :: RenderMessage master msg => msg -> GHandler sub master AuthResult
unauthorizedI msg =do
    mr <- getMessageRender
    return $ Unauthorized $ mr msg