]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - Network/HTTP/Lucu/MIMEType.hs
Optimization
[Lucu.git] / Network / HTTP / Lucu / MIMEType.hs
index 396a1646dbe7a5b297c2d27c8f1b834b37131b4c..da4f503b33e838207e4cc27d380b302e21e79e87 100644 (file)
@@ -9,6 +9,7 @@ module Network.HTTP.Lucu.MIMEType
     )
     where
 
+import qualified Data.ByteString.Lazy as B
 import           Network.HTTP.Lucu.Parser
 import           Network.HTTP.Lucu.Parser.Http
 import           Network.HTTP.Lucu.Utils
@@ -45,8 +46,10 @@ instance Read MIMEType where
 -- exception for parse error.
 parseMIMEType :: String -> MIMEType
 parseMIMEType str = case parseStr mimeTypeP str of
-                      (Success t, _) -> t
-                      _              -> error ("Unparsable MIME Type: " ++ str)
+                      (# Success t, r #) -> if B.null r
+                                            then t
+                                            else error ("unparsable MIME Type: " ++ str)
+                      (# _        , _ #) -> error ("unparsable MIME Type: " ++ str)
 
 
 mimeTypeP :: Parser MIMEType