Don't let a SQL connection failure be a problem during defaultLayout

This commit is contained in:
Michael Snoyman 2015-01-08 18:18:47 +02:00
parent e87156a059
commit 829b107eb9

View File

@ -5,6 +5,7 @@ import Data.BlobStore
import Data.Slug (safeMakeSlug, HasGenIO (getGenIO), randomSlug, Slug, SnapSlug) import Data.Slug (safeMakeSlug, HasGenIO (getGenIO), randomSlug, Slug, SnapSlug)
import Data.WebsiteContent import Data.WebsiteContent
import qualified Database.Persist import qualified Database.Persist
import Database.Persist.Sql (PersistentSqlException (Couldn'tGetSQLConnection))
import Model import Model
import qualified Settings import qualified Settings
import Settings (widgetFile, Extra (..), GoogleAuth (..)) import Settings (widgetFile, Extra (..), GoogleAuth (..))
@ -95,7 +96,9 @@ instance Yesod App where
defaultLayout widget = do defaultLayout widget = do
mmsg <- getMessage mmsg <- getMessage
muser <- maybeAuth muser <- catch maybeAuth $ \e -> case e of
Couldn'tGetSQLConnection -> return Nothing
_ -> throwM e
-- We break up the default layout into two components: -- We break up the default layout into two components:
-- default-layout is the contents of the body tag, and -- default-layout is the contents of the body tag, and