{-# LANGUAGE
    DeriveDataTypeable
  , GeneralizedNewtypeDeriving
  #-}
module Network.HTTP.Lucu.MIMEParams.Internal
    ( MIMEParams(..)
    )
    where
import Data.Ascii (CIAscii)
import qualified Data.Map as M (Map)
import Data.Monoid
import Data.Text (Text)
import Data.Typeable
import Language.Haskell.TH.Syntax
import Network.HTTP.Lucu.OrphanInstances ()

-- |A 'Map' from MIME parameter attributes to values. Attributes are
-- always case-insensitive according to RFC 2045
-- (<http://tools.ietf.org/html/rfc2045#section-5.1>).
newtype MIMEParams
    = MIMEParams (M.Map CIAscii Text)
    deriving (Eq, Show, Read, Lift, Monoid, Typeable)