X-Git-Url: http://git.cielonegro.org/gitweb.cgi?p=Lucu.git;a=blobdiff_plain;f=examples%2FMultipart.hs;h=8ddc6189be39a8ad942d372671819fd6f066e53f;hp=3897dfb2a1f62359c44206c113ba60cf0314b5e4;hb=b22e702f8161447a460847c6e6c97104c150534f;hpb=0214f070b80791323430e21b53bcbe8a77b71b23
diff --git a/examples/Multipart.hs b/examples/Multipart.hs
index 3897dfb..8ddc618 100644
--- a/examples/Multipart.hs
+++ b/examples/Multipart.hs
@@ -1,9 +1,15 @@
-import qualified Data.ByteString.Lazy.Char8 as L8
-import Data.List
+{-# LANGUAGE
+ OverloadedStrings
+ , UnicodeSyntax
+ #-}
+import qualified Data.ByteString.Lazy.Char8 as Lazy
+import Control.Applicative
+import Control.Monad.Unicode
import Data.Maybe
+import Data.Monoid.Unicode
import Network.HTTP.Lucu
-main :: IO ()
+main â· IO ()
main = let config = defaultConfig { cnfServerPort = "9999" }
resources = mkResTree [ ([], resMain) ]
in
@@ -11,30 +17,25 @@ main = let config = defaultConfig { cnfServerPort = "9999" }
runHttpd config resources []
-resMain :: ResourceDef
+resMain â· ResourceDef
resMain
- = ResourceDef {
- resUsesNativeThread = False
- , resIsGreedy = False
- , resGet
- = Just $ do setContentType $ read "text/html"
- output ("
Multipart Form Test" ++
- "")
- , resHead = Nothing
+ = emptyResource {
+ resGet
+ = Just $ do setContentType $ parseMIMEType "text/html"
+ putChunks $ "Multipart Form Test\n"
+ â "\n"
, resPost
- = Just $ do form <- inputForm defaultLimit
- 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"
- 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
+ = Just $ do form â getForm Nothing
+ let text = fromMaybe (â
) $ fdContent <$> lookup "text" form
+ file = fromMaybe (â
) $ fdContent <$> lookup "file" form
+ fileName = fdFileName =⪠lookup "file" form
+ setContentType $ parseMIMEType "text/plain"
+ putChunks $ "You entered \"" â text â "\".\n"
+ putChunks $ "You uploaded a " â Lazy.pack (show $ Lazy.length file) â " bytes long file.\n"
+ putChunks $ "The file name is " â Lazy.pack (show fileName) â ".\n"
+ }