]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - Network/HTTP/Lucu/MultipartForm.hs
Destroy Data.Attoparsec.Parsable; use Data.Default instead
[Lucu.git] / Network / HTTP / Lucu / MultipartForm.hs
index ecff350619b31c79c1e1b4ff1e960a3ed68cea9a..98699e43ca37d2e2a2978236130f50b6a705c04a 100644 (file)
@@ -26,7 +26,6 @@ import Data.Ascii (Ascii, CIAscii, AsciiBuilder)
 import Data.Attempt
 import Data.Attoparsec
 import qualified Data.Attoparsec.Lazy as LP
-import Data.Attoparsec.Parsable
 import qualified Data.ByteString as BS
 import qualified Data.ByteString.Lazy as LS
 import Data.ByteString.Lazy.Search
@@ -34,6 +33,7 @@ import Data.Collections
 import Data.Convertible.Base
 import Data.Convertible.Instances.Ascii ()
 import Data.Convertible.Utils
+import Data.Default
 import Data.List (intercalate)
 import Data.Maybe
 import Data.Monoid.Unicode
@@ -169,7 +169,8 @@ parsePart boundary src
         defaultCType = [mimeType| text/plain |]
 
 partHeader ∷ Parser Headers
-partHeader = crlf *> parser
+{-# INLINE partHeader #-}
+partHeader = crlf *> def
 
 getContDispo ∷ MonadError String m ⇒ Headers → m ContDispo
 {-# INLINEABLE getContDispo #-}
@@ -186,8 +187,9 @@ getContDispo hdrs
                                        ⊕ err
 
 contentDisposition ∷ Parser ContDispo
+{-# INLINEABLE contentDisposition #-}
 contentDisposition
-    = (ContDispo <$> (cs <$> token) ⊛ parser)
+    = (ContDispo <$> (cs <$> token) ⊛ def)
       <?>
       "contentDisposition"
 
@@ -198,7 +200,7 @@ getContType hdrs
         Nothing
             → return Nothing
         Just str
-            → case parseOnly (finishOff parser) $ cs str of
+            → case parseOnly (finishOff def) $ cs str of
                  Right  d → return $ Just d
                  Left err → throwError $ "malformed Content-Type: "
                                        ⊕ cs str