]> gitweb @ CieloNegro.org - Rakka.git/blobdiff - Rakka/Resource/SystemConfig.hs
Rakka.Resource.Users
[Rakka.git] / Rakka / Resource / SystemConfig.hs
index beae8316994a2389baebba8d5236c9569a0fe589..1a4b796b750912adf4f85516666c1056bc275b1e 100644 (file)
@@ -3,7 +3,6 @@ module Rakka.Resource.SystemConfig
     )
     where
 
-import           Control.Monad.Trans
 import           Data.Maybe
 import           Network.HTTP.Lucu
 import           Rakka.Environment
@@ -12,6 +11,10 @@ import           Rakka.SystemConfig
 import           Text.XML.HXT.Arrow
 
 
+-- FIXME:
+-- GET /systemConfig          ==> 全設定値を返す
+-- GET /systemConfig/siteName ==> siteName を返す
+-- PUT /systemConfig/siteName ==> siteName を設定
 resSystemConfig :: Environment -> ResourceDef
 resSystemConfig env
     = ResourceDef {
@@ -33,14 +36,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