X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=Main.hs;h=81f41a5f345cc1443224ff05ea0f8968f37f1556;hb=fb86cb6941e466fd43ce45338024c79d0fdb33a2;hp=90a47efd726f7c0e75ae431f24644f2e493ec04a;hpb=e43bb104a7313dd696b8bb8aa3bafff94706a187;p=Rakka.git diff --git a/Main.hs b/Main.hs index 90a47ef..81f41a5 100644 --- a/Main.hs +++ b/Main.hs @@ -5,9 +5,15 @@ import Data.Maybe import Network import Network.HTTP.Lucu import Rakka.Environment +import Rakka.Resource.CheckAuth 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 @@ -21,6 +27,8 @@ import System.Posix.Files import System.Posix.Types import System.Posix.User + +logger :: String logger = "Main" @@ -37,7 +45,7 @@ data CmdOpt defaultPort :: PortNumber -defaultPort = fromIntegral 8080 +defaultPort = toEnum 8080 defaultLocalStateDir :: FilePath defaultLocalStateDir = LOCALSTATEDIR -- replaced by CPP @@ -55,7 +63,7 @@ defaultLogLevel = NOTICE 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"] @@ -127,13 +135,21 @@ main = withSubversion $ 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) + , (["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) ]