yesod/test/quasi-resource.hs

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