--- |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
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.
= 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]) ]