#if defined(__GLASGOW_HASKELL__) && (__GLASGOW_HASKELL__ >= 704)
#endif
module Hails.IterIO.Mime ( systemMimeMap ) where
import qualified Data.ByteString.Char8 as S8
import Data.IterIO
import Data.IterIO.HttpRoute hiding (routeFileSys)
import System.IO.Unsafe
import Control.Exception (SomeException(..))
systemMimeMap :: String -> S8.ByteString
systemMimeMap = unsafePerformIO $
foldr1 cat (map enumMimeFile defaultPaths) |$
mimeTypesI "application/octet-stream"
where defaultPaths = ["mime.types"
, "/etc/mime.types"
, "/var/www/conf/mime.types"]
enumMimeFile f = inumCatch (enumFile f) $ \(SomeException _) res ->
resumeI res