1 import Control.Monad.Trans
4 import Network.HTTP.Lucu.Config
5 import Network.HTTP.Lucu.ETag
6 import Network.HTTP.Lucu.Httpd
7 import Network.HTTP.Lucu.Parser
8 import Network.HTTP.Lucu.Parser.Http
9 import Network.HTTP.Lucu.Resource
10 import Network.HTTP.Lucu.Response
12 import System.Posix.Signals
16 main = let config = defaultConfig { cnfServerPort = PortNumber 9999 }
17 resources = mkResTree [ ([], helloWorld) ]
19 do installHandler sigPIPE Ignore Nothing
20 runHttpd config resources
23 helloWorld :: ResourceDef
26 resUsesNativeThread = False
29 = Just $ do time <- liftIO $ getClockTime
30 foundEntity False "abcde" time
31 setHeader "Content-Type" "text/plain"
33 outputChunk "World!\n"
36 = Just $ do str1 <- inputChunk 3
39 setHeader "Content-Type" "text/plain"
40 output ("[" ++ str1 ++ " - " ++ str2 ++ "#" ++ str3 ++ "]")