-
-resMain ∷ ResourceDef
-resMain
- = emptyResource {
- resGet
- = Just $ do setContentType $ parseMIMEType "text/html"
- putChunks $ "<title>Multipart Form Test</title>\n"
- ⊕ "<form action=\"/\" method=\"post\" enctype=\"multipart/form-data\">\n"
- ⊕ " Upload some file:\n"
- ⊕ " <input type=\"text\" name=\"text\">\n"
- ⊕ " <input type=\"file\" name=\"file\">\n"
- ⊕ " <input type=\"submit\" value=\"Submit\">\n"
- ⊕ "</form>\n"
- , resPost
- = 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"
- }
+resMain ∷ Resource
+resMain = C.fromList
+ [ ( GET
+ , do setContentType [mimeType| text/html; charset="UTF-8" |]
+ putBuilder
+ $ renderHtmlBuilder
+ $ docTypeHtml ! lang "en"
+ $ do head $ do meta ! charset "UTF-8"
+ title "Multipart Form Test"
+ body $ form ! action "/"
+ ! method "post"
+ ! enctype "multipart/form-data"
+ $ do toHtml ("Upload some file:" ∷ String)
+ input ! type_ "text" ! name "text"
+ input ! type_ "file" ! name "file"
+ input ! type_ "submit" ! value "Submit"
+ )
+ , ( POST
+ , do f ← getForm Nothing
+ let text = fromMaybe (∅) $ fdContent <$> lookup "text" f
+ file = fromMaybe (∅) $ fdContent <$> lookup "file" f
+ fileName = fdFileName =≪ lookup "file" f
+ setContentType [mimeType| 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"
+ )
+ ]