]> gitweb @ CieloNegro.org - Rakka.git/blob - Rakka/Resource/DumpRepos.hs
/dumpRepos
[Rakka.git] / Rakka / Resource / DumpRepos.hs
1 module Rakka.Resource.DumpRepos
2     ( resDumpRepos
3     )
4     where
5
6 import           Control.Monad.Trans
7 import           Network.HTTP.Lucu
8 import           Rakka.Environment
9 import           Subversion.Repository
10
11 resDumpRepos :: Environment -> ResourceDef
12 resDumpRepos env
13     = ResourceDef {
14         resUsesNativeThread = False
15       , resIsGreedy         = False
16       , resGet              = Just $ dumpRepos $ envRepository env
17       , resHead             = Nothing
18       , resPost             = Nothing
19       , resPut              = Nothing
20       , resDelete           = Nothing
21       }
22
23
24 dumpRepos :: Repository -> Resource ()
25 dumpRepos repos
26     = do setContentType $ read "application/octet-stream"
27          -- FIXME: 最終更新時刻が判るはず。
28          dump <- liftIO $ dumpRepository repos Nothing Nothing False True
29          outputLBS dump