X-Git-Url: https://git.cielonegro.org/gitweb.cgi?p=Rakka.git;a=blobdiff_plain;f=Rakka%2FResource%2FSystemConfig.hs;h=1a4b796b750912adf4f85516666c1056bc275b1e;hp=beae8316994a2389baebba8d5236c9569a0fe589;hb=547fd6221931c8025085db91f7424db850156129;hpb=52bafd675e7ac9d3fc9d3bf2d72e66a22efb6db9 diff --git a/Rakka/Resource/SystemConfig.hs b/Rakka/Resource/SystemConfig.hs index beae831..1a4b796 100644 --- a/Rakka/Resource/SystemConfig.hs +++ b/Rakka/Resource/SystemConfig.hs @@ -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