X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=examples%2FMultipart.hs;h=69c4125accd5a97c54f909dea9141fd5866062c8;hb=0a300483f71cbbbe84b5781849f33692c2832864;hp=6c15cd3a8a4ab1130737c1c770983892edb2d596;hpb=e2a6ee839c0ca27b25b32656a5c080e4b464e7c9;p=Lucu.git diff --git a/examples/Multipart.hs b/examples/Multipart.hs index 6c15cd3..69c4125 100644 --- a/examples/Multipart.hs +++ b/examples/Multipart.hs @@ -1,10 +1,9 @@ -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." @@ -28,11 +27,13 @@ resMain , 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