--- /dev/null
+import Data.List
+import Data.Maybe
+import Network
+import Network.HTTP.Lucu
+
+main :: IO ()
+main = let config = defaultConfig { cnfServerPort = PortNumber 9999 }
+ resources = mkResTree [ ([], resMain) ]
+ in
+ do putStrLn "Access http://localhost:9999/ with your browser."
+ runHttpd config resources
+
+
+resMain :: ResourceDef
+resMain
+ = ResourceDef {
+ resUsesNativeThread = False
+ , resIsGreedy = False
+ , resGet
+ = Just $ do setContentType $ read "text/html"
+ output ("<title>Multipart Form Test</title>" ++
+ "<form action=\"/\" method=\"post\" enctype=\"multipart/form-data\">" ++
+ " Enter some value:" ++
+ " <input type=\"text\" name=\"val\">" ++
+ " <input type=\"submit\" value=\"Submit\">" ++
+ "</form>")
+ , resHead = Nothing
+ , resPost
+ = Just $ do form <- inputForm defaultLimit
+ let value = fromMaybe "" $ fmap snd $ find ((== "val") . fst) form
+ setContentType $ read "text/plain"
+ output ("You entered: " ++ value)
+ , resPut = Nothing
+ , resDelete = Nothing
+ }
\ No newline at end of file