]> gitweb @ CieloNegro.org - Rakka.git/blobdiff - Rakka/Resource/SystemConfig.hs
Fixing build breakage...
[Rakka.git] / Rakka / Resource / SystemConfig.hs
index beae8316994a2389baebba8d5236c9569a0fe589..100fd1283b3d9e59223a5d952f4ec5bdde34f1cd 100644 (file)
@@ -2,16 +2,18 @@ module Rakka.Resource.SystemConfig
     ( resSystemConfig
     )
     where
-
-import           Control.Monad.Trans
 import           Data.Maybe
 import           Network.HTTP.Lucu
 import           Rakka.Environment
 import           Rakka.Resource
 import           Rakka.SystemConfig
-import           Text.XML.HXT.Arrow
+import           Text.XML.HXT.XPath
 
 
+-- FIXME:
+-- GET /systemConfig          ==> 全設定値を返す
+-- GET /systemConfig/siteName ==> siteName を返す
+-- PUT /systemConfig/siteName ==> siteName を設定
 resSystemConfig :: Environment -> ResourceDef
 resSystemConfig env
     = ResourceDef {
@@ -33,14 +35,9 @@ resSystemConfig env
 -}
 handleGet :: Environment -> Resource ()
 handleGet env
-    = do setContentType $ read "text/xml"
-         [xmlStr] <- liftIO $ runX ( setErrorMsgHandler False fail
-                                     >>>
-                                     mkSystemConfigTree env
-                                     >>>
-                                     writeDocumentToString [ (a_indent, v_1) ]
-                                   )
-         output xmlStr
+    = runIdempotentA' $ proc ()
+    -> do tree <- mkSystemConfigTree env -< ()
+         returnA -< outputXml tree
 
 
 mkSystemConfigTree :: (ArrowXml a, ArrowIO a) => Environment -> a b XmlTree