yesod-core-1.7.0.0: test/YesodCoreTest/ZeroPieceShadow/ShadowApp.hs
{-# LANGUAGE FlexibleContexts #-}
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE MultiParamTypeClasses #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE QuasiQuotes #-}
{-# LANGUAGE TemplateHaskell #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE ViewPatterns #-}
-- | A zero-piece nested parent (pattern @\/@) followed by a sibling, built with
-- the default @fallthrough = False@. The parent's match pattern is @WildP@
-- (unconditional), so @\/sibling@ is shadowed: it is swallowed by the parent
-- and 404s. See "YesodCoreTest.ZeroPieceShadow.FallApp" for the fallthrough
-- counterpart. Pinned by "YesodCoreTest.ZeroPieceShadowRuntime".
module YesodCoreTest.ZeroPieceShadow.ShadowApp
( ShadowApp (..)
) where
import Yesod.Core
data ShadowApp = ShadowApp
mkYesodOpts defaultOpts "ShadowApp" [parseRoutes|
/ ShadowParentR:
/child ShadowChildR GET
/sibling SiblingR GET
|]
instance Yesod ShadowApp where
messageLoggerSource = mempty
getShadowChildR :: HandlerFor ShadowApp String
getShadowChildR = pure "ShadowChildR"
getSiblingR :: HandlerFor ShadowApp String
getSiblingR = pure "SiblingR"