]> gitweb @ CieloNegro.org - Lucu.git/blobdiff - Network/HTTP/Lucu/MIMEType/Guess.hs
Lucu now *requires* base >= 4.
[Lucu.git] / Network / HTTP / Lucu / MIMEType / Guess.hs
index 6f4632609c6b1b2ef0d940de4cdc6b5003f470ef..d94711ac624cdfa9878243b55f46b1dbca61b223 100644 (file)
@@ -1,5 +1,5 @@
--- |MIME Type guesser which guesses by a file extension. This is a
--- poor man's way of guessing MIME Types. It is simple and fast.
+-- |MIME Type guessing by a file extension. This is a poor man's way
+-- of guessing MIME Types. It is simple and fast.
 --
 -- In general you don't have to use this module directly.
 module Network.HTTP.Lucu.MIMEType.Guess
@@ -23,7 +23,7 @@ import           Network.HTTP.Lucu.Parser.Http
 import           Network.HTTP.Lucu.Utils
 import           System.IO
 
--- |Map from extension to MIME Type.
+-- |'Data.Map.Map' from extension to MIME Type.
 type ExtMap = Map String MIMEType
 
 -- |Guess the MIME Type of file.
@@ -40,10 +40,13 @@ parseExtMapFile fpath
     = fpath `seq`
       do file <- B.readFile fpath
          case parse (allowEOF extMapP) file of
-           (Success xs, _) -> return $ compile xs
-           (_, input')     -> let near = B.unpack $ B.take 100 input'
-                              in 
-                                fail ("Failed to parse: " ++ fpath ++ " (near: " ++ near ++ ")")
+           (# Success xs, _ #)
+               -> return $ compile xs
+
+           (# _, input' #)
+               -> let near = B.unpack $ B.take 100 input'
+                  in 
+                    fail ("Failed to parse: " ++ fpath ++ " (near: " ++ near ++ ")")
 
 
 extMapP :: Parser [ (MIMEType, [String]) ]
@@ -99,9 +102,9 @@ serializeExtMap extMap moduleName variableName
                                   [] (HsUnGuardedRhs extMapExp) []]
                      ]
           extMapExp = HsApp (HsVar (Qual (Module "M") (HsIdent "fromList"))) (HsList records)
-          comment =    "{- !!! WARNING !!!\n"
-                    ++ "   This file is automatically generated.\n"
-                    ++ "   DO NOT EDIT BY HAND OR YOU WILL REGRET -}\n\n"
+          comment   =    "{- !!! WARNING !!!\n"
+                      ++ "   This file is automatically generated.\n"
+                      ++ "   DO NOT EDIT BY HAND OR YOU WILL REGRET -}\n\n"
       in
         comment ++ prettyPrint hsModule ++ "\n"
     where