X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=examples%2FMultipart.hs;h=f8c1c7bc218d76a1f8322fb3475f87d67296ef04;hb=195fd2318fb0ad21c2fd60f61e7df72a8f25d12c;hp=b7faa38dc97405aebb0d909a11d2cd2fa344f913;hpb=e53a2f3202f763e844de725712f1bf26b82cd41f;p=Lucu.git diff --git a/examples/Multipart.hs b/examples/Multipart.hs index b7faa38..f8c1c7b 100644 --- a/examples/Multipart.hs +++ b/examples/Multipart.hs @@ -1,3 +1,4 @@ +import qualified Data.ByteString.Lazy.Char8 as L8 import Data.List import Data.Maybe import Network @@ -8,7 +9,7 @@ main = let config = defaultConfig { cnfServerPort = PortNumber 9999 } resources = mkResTree [ ([], resMain) ] in do putStrLn "Access http://localhost:9999/ with your browser." - runHttpd config resources + runHttpd config resources [] resMain :: ResourceDef @@ -20,16 +21,21 @@ resMain = Just $ do setContentType $ read "text/html" output ("Multipart Form Test" ++ "
" ++ - " Enter some value:" ++ - " " ++ + " Upload some file:" ++ + " " ++ + " " ++ " " ++ "
") , resHead = Nothing , resPost = Just $ do form <- inputForm defaultLimit - let value = fromMaybe "" $ fmap snd $ find ((== "val") . fst) form + let text = fromMaybe L8.empty $ fmap fdContent $ find ((== "text") . fdName) form + file = fromMaybe L8.empty $ fmap fdContent $ find ((== "file") . fdName) form + fileName = fdFileName =<< find ((== "file") . fdName) form setContentType $ read "text/plain" - output ("You entered: " ++ value) + 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