-import Data.List
+import qualified Data.ByteString.Lazy.Char8 as L8
import Data.Maybe
-import Network
import Network.HTTP.Lucu
main :: IO ()
-main = let config = defaultConfig { cnfServerPort = PortNumber 9999 }
+main = let config = defaultConfig { cnfServerPort = "9999" }
resources = mkResTree [ ([], resMain) ]
in
do putStrLn "Access http://localhost:9999/ with your browser."
, resHead = Nothing
, resPost
= Just $ do form <- inputForm defaultLimit
- let text = fromMaybe "" $ fmap snd $ find ((== "text") . fst) form
- file = fromMaybe "" $ fmap snd $ find ((== "file") . fst) form
+ let text = fromMaybe L8.empty $ fmap fdContent $ lookup "text" form
+ file = fromMaybe L8.empty $ fmap fdContent $ lookup "file" form
+ fileName = fdFileName =<< lookup "file" form
setContentType $ read "text/plain"
- outputChunk ("You entered \"" ++ text ++ "\".\n")
- output ("You uploaded a " ++ show (length file) ++ " bytes long file.\n")
+ outputChunk ("You entered \"" ++ L8.unpack text ++ "\".\n")
+ outputChunk ("You uploaded a " ++ show (L8.length file) ++ " bytes long file.\n")
+ output ("The file name is " ++ show fileName ++ ".\n")
, resPut = Nothing
, resDelete = Nothing
}
\ No newline at end of file