Some parsing fixes (not complete)
This commit is contained in:
parent
bca0d24533
commit
2a719941ca
@ -16,5 +16,4 @@ mkYesodSubData "Auth" [parseRoutes|
|
||||
/check CheckR GET
|
||||
/login LoginR GET
|
||||
/logout LogoutR GET POST
|
||||
/page/#Text/*Texts PluginR
|
||||
|]
|
||||
|
||||
@ -86,14 +86,13 @@ import Text.Blaze.Html (Html)
|
||||
import Control.Monad.Logger
|
||||
import Control.Monad.Trans.Class (MonadTrans (..))
|
||||
import Yesod.Core.Internal.Session
|
||||
import Yesod.Core.Internal.TH (ParseRoute (..))
|
||||
import Yesod.Core.Class.Yesod
|
||||
import Yesod.Core.Class.Dispatch
|
||||
import Yesod.Core.Class.Breadcrumbs
|
||||
import Yesod.Core.Internal.Run (yesodRender, runFakeHandler)
|
||||
import qualified Paths_yesod_core
|
||||
import Data.Version (showVersion)
|
||||
import Yesod.Routes.Class (RenderRoute (..))
|
||||
import Yesod.Routes.Class
|
||||
import Control.Monad.IO.Class (MonadIO (..))
|
||||
import Control.Monad.Base (MonadBase (..))
|
||||
import Control.Monad.Trans.Control (MonadBaseControl (..))
|
||||
|
||||
@ -26,9 +26,6 @@ import Yesod.Routes.Class
|
||||
import Data.Text (Text)
|
||||
import qualified Data.ByteString.Char8 as S8
|
||||
|
||||
class RenderRoute a => ParseRoute a where
|
||||
parseRoute :: ([Text], [(Text, Text)]) -> Maybe (Route a)
|
||||
|
||||
-- | Generates URL datatype and site function for the given 'Resource's. This
|
||||
-- is used for creating sites, /not/ subsites. See 'mkYesodSub' for the latter.
|
||||
-- Use 'parseRoutes' to create the 'Resource's.
|
||||
|
||||
@ -53,7 +53,7 @@ import Text.Julius (JavascriptUrl)
|
||||
import Web.Cookie (SetCookie)
|
||||
import Yesod.Core.Internal.Util (getTime, putTime)
|
||||
import Control.Monad.Trans.Class (MonadTrans (..))
|
||||
import Yesod.Routes.Class (RenderRoute (..))
|
||||
import Yesod.Routes.Class (RenderRoute (..), ParseRoute (..))
|
||||
|
||||
-- Sessions
|
||||
type SessionMap = Map Text ByteString
|
||||
@ -434,3 +434,5 @@ instance RenderRoute WaiSubsite where
|
||||
data Route WaiSubsite = WaiSubsiteRoute [Text] [(Text, Text)]
|
||||
deriving (Show, Eq, Read, Ord)
|
||||
renderRoute (WaiSubsiteRoute ps qs) = (ps, qs)
|
||||
instance ParseRoute WaiSubsite where
|
||||
parseRoute (x, y) = Just $ WaiSubsiteRoute x y
|
||||
|
||||
@ -2,6 +2,7 @@
|
||||
{-# LANGUAGE FlexibleContexts #-}
|
||||
module Yesod.Routes.Class
|
||||
( RenderRoute (..)
|
||||
, ParseRoute (..)
|
||||
) where
|
||||
|
||||
import Data.Text (Text)
|
||||
@ -10,3 +11,6 @@ class Eq (Route a) => RenderRoute a where
|
||||
-- | The type-safe URLs associated with a site argument.
|
||||
data Route a
|
||||
renderRoute :: Route a -> ([Text], [(Text, Text)])
|
||||
|
||||
class RenderRoute a => ParseRoute a where
|
||||
parseRoute :: ([Text], [(Text, Text)]) -> Maybe (Route a)
|
||||
|
||||
@ -89,6 +89,7 @@ do
|
||||
, mdsSetPathInfo = [|\p (_, m) -> (p, m)|]
|
||||
, mds404 = [|pack "404"|]
|
||||
, mds405 = [|pack "405"|]
|
||||
, mdsGetHandler = defaultGetHandler
|
||||
} resources
|
||||
return
|
||||
$ InstanceD
|
||||
|
||||
@ -116,6 +116,7 @@ do
|
||||
, mdsSetPathInfo = [|\p (_, m) -> (p, m)|]
|
||||
, mds404 = [|pack "404"|]
|
||||
, mds405 = [|pack "405"|]
|
||||
, mdsGetHandler = defaultGetHandler
|
||||
} ress
|
||||
return
|
||||
$ InstanceD
|
||||
|
||||
Loading…
Reference in New Issue
Block a user