+module Rakka.Resource.Page
+ ( fallbackPage
+ )
+ where
+
+import Data.Char
+import Network.HTTP.Lucu
+import Rakka.Environment
+
+
+fallbackPage :: Environment -> [String] -> IO (Maybe ResourceDef)
+fallbackPage env path
+ | null path = return Nothing
+ | null $ head path = return Nothing
+ | not $ isUpper $ head $ head path = return Nothing -- /Foo/bar のような形式でない。
+ | otherwise
+ = return $ Just $ ResourceDef {
+ resUsesNativeThread = False
+ , resIsGreedy = True
+ , resGet = Just $ handleGet env path
+ , resHead = Nothing
+ , resPost = Nothing
+ , resPut = Just $ handlePut env path
+ , resDelete = Just $ handleDelete env path
+ }
+
+
+handleGet :: Environment -> [String] -> Resource ()
+handleGet = fail "FIXME: not implemented"
+
+
+handlePut :: Environment -> [String] -> Resource ()
+handlePut = fail "FIXME: not implemented"
+
+
+handleDelete :: Environment -> [String] -> Resource ()
+handleDelete = fail "FIXME: not implemented"