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
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
defaultCType = [mimeType| text/plain |]
partHeader ∷ Parser Headers
-partHeader = crlf *> parser
+{-# INLINE partHeader #-}
+partHeader = crlf *> def
getContDispo ∷ MonadError String m ⇒ Headers → m ContDispo
{-# INLINEABLE getContDispo #-}
⊕ err
contentDisposition ∷ Parser ContDispo
+{-# INLINEABLE contentDisposition #-}
contentDisposition
- = (ContDispo <$> (cs <$> token) ⊛ parser)
+ = (ContDispo <$> (cs <$> token) ⊛ def)
<?>
"contentDisposition"
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