-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | MIME implementation for String's. -- -- Implementation of the MIME RFCs 2045-2049. Rather rough around the -- edges at the moment. @package mime-string @version 0.4 module Codec.MIME.String.EncodedWord base64_encode :: String -> String -> String module Codec.MIME.String.QuotedPrintable encode :: [String] -> String decode :: [String] -> String module Codec.Binary.EncodingQ.String encode :: Int -> String -> [String] decode :: String -> String module Codec.MIME.String.Headers data Domain Domain :: String -> Domain LiteralDomain :: String -> Domain data Mailbox Mailbox :: (Maybe String) -> RoutedEmailAddress -> Mailbox data RoutedEmailAddress NormalEmailAddress :: EmailAddress -> RoutedEmailAddress RoutedEmailAddress :: [Domain] -> EmailAddress -> RoutedEmailAddress data EmailAddress EmailAddress :: String -> Domain -> EmailAddress get_addr_spec :: String -> Maybe EmailAddress data Address Address :: Mailbox -> Address Group :: String -> [Mailbox] -> Address data ContentType ContentType :: String -> String -> [Parameter] -> ContentType get_content_type :: String -> Maybe ContentType data ContentDescription ContentDescription :: String -> ContentDescription get_content_description :: String -> Maybe ContentDescription data ContentTransferEncoding ContentTransferEncoding :: String -> ContentTransferEncoding get_content_transfer_encoding :: String -> Maybe ContentTransferEncoding data ContentID ContentID :: MessageID -> ContentID get_content_id :: String -> Maybe ContentID data MessageID MessageID :: String -> Domain -> MessageID data MIMEVersion MIMEVersion :: Integer -> Integer -> MIMEVersion get_mime_version :: String -> Maybe MIMEVersion data Parameter Parameter :: String -> String -> Parameter p_parameter :: Parser Char Parameter data From From :: [Mailbox] -> From data To To :: [Address] -> To data Subject Subject :: String -> Subject get_from :: String -> Maybe From get_to :: String -> Maybe To get_subject :: String -> Maybe Subject get_boundary :: String -> Maybe String p_extension_token :: Parser Char String p_value :: Parser Char String p_quoted_string :: Parser Char String cws :: Parser Char () p_ci_string :: String -> Parser Char String instance Show ContentDescription instance Read ContentDescription instance Show ContentID instance Read ContentID instance Show ContentTransferEncoding instance Read ContentTransferEncoding instance Show Parameter instance Read Parameter instance Show ContentType instance Read ContentType instance Show MIMEVersion instance Read MIMEVersion instance Show RoutedEmailAddress instance Read RoutedEmailAddress instance Eq RoutedEmailAddress instance Show EmailAddress instance Read EmailAddress instance Eq EmailAddress instance Show Mailbox instance Read Mailbox instance Eq Mailbox instance Show Address instance Read Address instance Show To instance Read To instance Show From instance Read From instance Eq From instance Show Subject instance Read Subject instance Show Domain instance Read Domain instance Eq Domain instance Show MessageID instance Read MessageID module Codec.MIME.String.Date data FullDate FullDate :: (Maybe DOW) -> Date -> Time -> FullDate data DOW Mon :: DOW Tue :: DOW Wed :: DOW Thu :: DOW Fri :: DOW Sat :: DOW Sun :: DOW data Date Date :: Day -> Month -> Year -> Date type Day = Int data Month Jan :: Month Feb :: Month Mar :: Month Apr :: Month May :: Month Jun :: Month Jul :: Month Aug :: Month Sep :: Month Oct :: Month Nov :: Month Dec :: Month type Year = Int data Time Time :: TimeOfDay -> Zone -> Time type Zone = Int data TimeOfDay TimeOfDay :: Hour -> Minute -> (Maybe Second) -> TimeOfDay type Hour = Int type Minute = Int type Second = Int show_full_date :: FullDate -> String show_mbox_full_date :: FullDate -> String get_date :: String -> Maybe FullDate p_date_time :: Parser Char FullDate get_current_date :: (MonadIO m) => m FullDate epochDate :: FullDate instance Show TimeOfDay instance Read TimeOfDay instance Show Time instance Read Time instance Show Month instance Read Month instance Show Date instance Read Date instance Show DOW instance Read DOW instance Show FullDate instance Read FullDate module Codec.MIME.String.ContentDisposition data ContentDisposition ContentDisposition :: DispositionType -> [DispositionParameter] -> ContentDisposition data DispositionType Inline :: DispositionType Attachment :: DispositionType data DispositionParameter Filename :: String -> DispositionParameter CreationDate :: FullDate -> DispositionParameter ModificationDate :: FullDate -> DispositionParameter ReadDate :: FullDate -> DispositionParameter Size :: Integer -> DispositionParameter DispositionParameter :: Parameter -> DispositionParameter get_content_disposition :: String -> Maybe ContentDisposition instance Show DispositionParameter instance Read DispositionParameter instance Show DispositionType instance Read DispositionType instance Show ContentDisposition instance Read ContentDisposition module Codec.MIME.String.Types type ParseM a = State PartNumber a type PartNumber = Integer type Headers = [Header] data Header Header :: [String] -> String -> String -> String -> Header h_raw_header :: Header -> [String] h_raw_name :: Header -> String h_name :: Header -> String h_body :: Header -> String data Message Message :: PartNumber -> MessageInfo -> MessageContent -> Message m_part_number :: Message -> PartNumber m_message_info :: Message -> MessageInfo m_message_content :: Message -> MessageContent data MessageInfo MessageInfo :: Headers -> Maybe From -> Maybe To -> Maybe Subject -> Maybe FullDate -> Maybe ContentDescription -> MessageInfo mi_headers :: MessageInfo -> Headers mi_from :: MessageInfo -> Maybe From mi_to :: MessageInfo -> Maybe To mi_subject :: MessageInfo -> Maybe Subject mi_date :: MessageInfo -> Maybe FullDate mi_content_description :: MessageInfo -> Maybe ContentDescription data Multipart Multipart :: String -> [Message] -> String -> Multipart data MessageContent NoContent :: ContentType -> MessageContent Body :: ContentType -> FilePath -> String -> MessageContent Data :: (Maybe ContentTransferEncoding) -> ContentType -> FilePath -> String -> MessageContent Mixed :: Multipart -> MessageContent Alternative :: Multipart -> MessageContent Parallel :: Multipart -> MessageContent Digest :: Multipart -> MessageContent RFC822 :: String -> FilePath -> Message -> MessageContent mkData :: Maybe ContentTransferEncoding -> ContentType -> FilePath -> String -> ParseM MessageContent mkBody :: ContentType -> FilePath -> String -> ParseM MessageContent digest_content_type :: ContentType ascii_text_content_type :: ContentType instance Show Message instance Read Message instance Show Multipart instance Read Multipart instance Show MessageContent instance Read MessageContent instance Show MessageInfo instance Read MessageInfo instance Show Header instance Read Header module Codec.MIME.String.Flatten flatten :: Headers -> String -> Maybe String -> Attachments -> IO String type Attachments = [Attachment] type Attachment = (String, FilePath, Maybe ContentType) module Codec.MIME.String.Parse mkMessage :: MessageInfo -> ParseM MessageContent -> ParseM Message parse :: String -> Message parse_message :: String -> ParseM Message convertAsciiToUtf8 :: String -> String parse_mime_message :: ContentType -> String -> ParseM Message make_mime_message_info :: Headers -> MessageInfo make_mime_message_content :: ContentType -> Headers -> String -> ParseM MessageContent tryConvertFuzzy :: Fuzzy -> EncodingName -> EncodingName -> ByteString -> Maybe ByteString get_filename :: ContentDisposition -> ContentType -> FilePath get_parts :: String -> String -> (String, [String], String) lookup_param :: String -> [Parameter] -> Maybe String get_header :: Headers -> String -> (String -> Maybe a) -> Maybe a parse_headers :: String -> (Headers, Maybe String) mk_rev_header :: [String] -> Header mk_header :: [String] -> Header module Codec.MIME.String