39 lines
1015 B
Haskell
39 lines
1015 B
Haskell
{-# LANGUAGE TemplateHaskell #-}
|
|
{-# LANGUAGE QuasiQuotes #-}
|
|
|
|
import Yesod.Resource
|
|
import Yesod.Definitions
|
|
import Data.Convertible.Text
|
|
|
|
handler :: [(RP, [(Verb, [Char])])]
|
|
handler =
|
|
$(rpnodesTHCheck
|
|
[ RPNode (cs "static/*filepath") $ AllVerbs "getStatic"
|
|
, RPNode (cs "page") $ Verbs [(Get, "pageIndex"), (Put, "pageAdd")]
|
|
, RPNode (cs "page/$page") $ Verbs [ (Get, "pageDetail")
|
|
, (Delete, "pageDelete")
|
|
, (Post, "pageUpdate")
|
|
]
|
|
, RPNode (cs "user/#id") $ Verbs [(Get, "userInfo")]
|
|
])
|
|
|
|
handler2 :: [(RP, [(Verb, [Char])])]
|
|
handler2 = [$rpnodesQuasi|
|
|
/static/*filepath/: getStatic
|
|
/page/:
|
|
Get: pageIndex
|
|
Put: pageAdd
|
|
/page/$page/:
|
|
Get: pageDetail
|
|
Delete: pageDelete
|
|
Post: pageUpdate
|
|
/user/#id/:
|
|
Get: userInfo
|
|
|]
|
|
|
|
main :: IO ()
|
|
main = do
|
|
print handler
|
|
print handler2
|
|
print $ handler == handler2
|