import Data.Maybe
import Network
import Network.HTTP.Lucu
+import OpenSSL
import Rakka.Environment
+import Rakka.Resource.CheckAuth
+import Rakka.Resource.DumpRepos
import Rakka.Resource.Index
+import Rakka.Resource.JavaScript
+import Rakka.Resource.PageEntity
import Rakka.Resource.Object
import Rakka.Resource.Render
+import Rakka.Resource.Search
+import Rakka.Resource.SystemConfig
+-- import Rakka.Resource.TrackBack
import Rakka.Storage
import Subversion
import System.Console.GetOpt
import System.Posix.Types
import System.Posix.User
+
+logger :: String
logger = "Main"
defaultPort :: PortNumber
-defaultPort = fromIntegral 8080
+defaultPort = toEnum 8080
defaultLocalStateDir :: FilePath
defaultLocalStateDir = LOCALSTATEDIR -- replaced by CPP
options :: [OptDescr CmdOpt]
options = [ Option ['p'] ["port"]
- (ReqArg (OptPortNum . fromIntegral . read) "NUM")
+ (ReqArg (OptPortNum . toEnum . read) "NUM")
("Port number to listen. (default: " ++ show defaultPort ++ ")")
, Option ['d'] ["localstatedir"]
main :: IO ()
-main = withSubversion $
+main = withOpenSSL $
+ withSubversion $
do (opts, nonOpts, errors) <- return . getOpt Permute options =<< getArgs
when (not $ null errors)
rebuildIndexIfRequested env opts
infoM logger ("Listening to " ++ show portNum ++ "/tcp...")
- runHttpd (envLucuConf env) (resTree env) [fallbackRender env]
+ runHttpd (envLucuConf env) (resTree env) [fallbackPageEntity env]
resTree :: Environment -> ResTree
resTree env
- = mkResTree [ ([] , resIndex env)
- , (["object"], resObject env)
+ = mkResTree [ ([] , resIndex env)
+ , (["checkAuth" ], resCheckAuth env)
+ , (["dumpRepos" ], resDumpRepos env)
+ , (["js" ], javaScript )
+ , (["object" ], resObject env)
+ , (["render" ], resRender env)
+ , (["search" ], resSearch env)
+ , (["search.html" ], resSearch env)
+ , (["search.xml" ], resSearch env)
+ , (["systemConfig"], resSystemConfig env)
+ -- , (["trackback" ], resTrackBack env)
]
OptRebuildIndex -> True
_ -> False) opts
when rebuild
- $ rebuildIndex (envStorage env)
\ No newline at end of file
+ $ rebuildIndex (envStorage env)