X-Git-Url: http://git.cielonegro.org/gitweb.cgi?a=blobdiff_plain;f=Network%2FHTTP%2FLucu%2FMultipartForm.hs;h=155003024b9c2e82989bc017bdcb0f58ed8541f6;hb=cc074d0ce3f7df2544bc2baddca4e7730ecdf0a0;hp=fd85eaf8f907bd506df0042b79dece95c386f85d;hpb=5e561403ba8ad9c440cc2bf2bacb61ebc3c7a111;p=Lucu.git diff --git a/Network/HTTP/Lucu/MultipartForm.hs b/Network/HTTP/Lucu/MultipartForm.hs index fd85eaf..1550030 100644 --- a/Network/HTTP/Lucu/MultipartForm.hs +++ b/Network/HTTP/Lucu/MultipartForm.hs @@ -2,6 +2,7 @@ DoAndIfThenElse , FlexibleContexts , OverloadedStrings + , QuasiQuotes , RecordWildCards , ScopedTypeVariables , UnicodeSyntax @@ -9,8 +10,6 @@ #-} -- |Parse \"multipart/form-data\" based on RFC 2388: -- --- --- You usually don't have to use this module directly. module Network.HTTP.Lucu.MultipartForm ( FormData(..) , parseMultipartFormData @@ -38,7 +37,9 @@ import Data.Text (Text) import qualified Data.Text as T import Network.HTTP.Lucu.Headers import Network.HTTP.Lucu.MIMEParams -import Network.HTTP.Lucu.MIMEType +import Network.HTTP.Lucu.MIMEType (MIMEType) +import qualified Network.HTTP.Lucu.MIMEType as MT +import Network.HTTP.Lucu.MIMEType.TH import Network.HTTP.Lucu.Parser import Network.HTTP.Lucu.Parser.Http import Prelude.Unicode @@ -155,7 +156,7 @@ parsePart boundary src ⧺ e where defaultCType ∷ MIMEType - defaultCType = parseMIMEType "text/plain" + defaultCType = [mimeType| text/plain |] partHeader ∷ Parser Headers partHeader = crlf *> headers @@ -187,7 +188,7 @@ getContType hdrs Nothing → return Nothing Just str - → case parseOnly (finishOff mimeType) $ A.toByteString str of + → case parseOnly (finishOff MT.mimeType) $ A.toByteString str of Right d → return $ Just d Left err → throwError $ "malformed Content-Type: " ⧺ A.toString str