module Data.SMTP.Types.Resource where import Data.SMTP.Types.Seal --import Data.SMTP.Types.URI --import Data.SMTP.Account (Account) import qualified Data.SMTP.Types.Mime as Mime --import qualified System.IO.Uniform as UIO import qualified Data.ByteString.Lazy as LBS import Data.Char data Header = Header (String, String) deriving (Read, Show, Eq, Ord) data Resource = Resource { mimeType :: Mime.ContentType, publicHeaders :: [Header], seal :: Maybe Seal, bodyData :: ResourceData} type ResourceData = LBS.ByteString getHeader :: [Header] -> String -> Maybe Header getHeader [] _ = Nothing getHeader (h@(Header (hk, _)) : hh) k | map toLower hk == map toLower k = Just h | otherwise = getHeader hh k getHeaderValue :: [Header] -> String -> Maybe String getHeaderValue hh h = case getHeader hh h of Just (Header (_, v)) -> Just v Nothing -> Nothing