]> gitweb @ CieloNegro.org - Rakka.git/blob - Rakka/Resource/Page.hs
In early development
[Rakka.git] / Rakka / Resource / Page.hs
1 module Rakka.Resource.Page
2     ( fallbackPage
3     )
4     where
5
6 import           Data.Char
7 import           Network.HTTP.Lucu
8 import           Rakka.Environment
9
10
11 fallbackPage :: Environment -> [String] -> IO (Maybe ResourceDef)
12 fallbackPage env path
13     | null path                        = return Nothing
14     | null $ head path                 = return Nothing
15     | not $ isUpper $ head $ head path = return Nothing -- /Foo/bar のような形式でない。
16     | otherwise
17         = return $ Just $ ResourceDef {
18             resUsesNativeThread = False
19           , resIsGreedy         = True
20           , resGet              = Just $ handleGet env path
21           , resHead             = Nothing
22           , resPost             = Nothing
23           , resPut              = Just $ handlePut env path
24           , resDelete           = Just $ handleDelete env path
25           }
26
27
28 handleGet :: Environment -> [String] -> Resource ()
29 handleGet = fail "FIXME: not implemented"
30
31
32 handlePut :: Environment -> [String] -> Resource ()
33 handlePut = fail "FIXME: not implemented"
34
35
36 handleDelete :: Environment -> [String] -> Resource ()
37 handleDelete = fail "FIXME: not implemented"