mime-0.4.0.2: Working with MIME types.

Copyright | (c) 2006-2009 Galois Inc.
License | BSD3
Maintainer | Sigbjorn Finne <sigbjorn.finne@gmail.com>
Stability | provisional
Portability | portable
Safe Haskell | Safe
Language | Haskell98

Codec.MIME.Type

Description

Representing MIME types and values.

Synopsis

- data MIMEParam = MIMEParam {
  - paramName :: Text
  - paramValue :: Text
  }
- data Type = Type {
  - mimeType :: MIMEType
  - mimeParams :: [MIMEParam]
  }
- nullType :: Type
- showType :: Type -> Text
- showMIMEParams :: [MIMEParam] -> Text
- data MIMEType
  - = Application SubType
  - | Audio SubType
  - | Image SubType
  - | Message SubType
  - | Model SubType
  - | Multipart Multipart
  - | Text TextType
  - | Video SubType
  - | Other {
    - otherType :: Text
    - otherSubType :: SubType
    }
- showMIMEType :: MIMEType -> Text
- data MIMEPair = MIMEPair Text SubType
- showMIMEPair :: MIMEPair -> Text
- type SubType = Text
- type TextType = SubType
- subTypeString :: Type -> Text
- majTypeString :: Type -> Text
- data Multipart
  - = Alternative
  - | Byteranges
  - | Digest
  - | Encrypted
  - | FormData
  - | Mixed
  - | Parallel
  - | Related
  - | Signed
  - | Extension Text
  - | OtherMulti Text
- isXmlBased :: Type -> Bool
- isXmlType :: Type -> Bool
- showMultipart :: Multipart -> Text
- type Content = Text
- data MIMEValue = MIMEValue {
  - mime_val_type :: Type
  - mime_val_disp :: Maybe Disposition
  - mime_val_content :: MIMEContent
  - mime_val_headers :: [MIMEParam]
  - mime_val_inc_type :: Bool
  }
- nullMIMEValue :: MIMEValue
- data MIMEContent
  - = Single Content
  - | Multi [MIMEValue]
- data Disposition = Disposition {
  - dispType :: DispType
  - dispParams :: [DispParam]
  }
- data DispType
  - = DispInline
  - | DispAttachment
  - | DispFormData
  - | DispOther Text
- data DispParam
  - = Name Text
  - | Filename Text
  - | CreationDate Text
  - | ModDate Text
  - | ReadDate Text
  - | Size Text
  - | OtherParam Text Text

# Documentation

data MIMEParam Source #

Constructors

MIMEParam |

Fields

- paramName :: Text
- paramValue :: Text

#### Instances

Instances details

Eq MIMEParam Source # |
Instance details Defined in Codec.MIME.Type Methods (==) :: MIMEParam -> MIMEParam -> Bool (/=) :: MIMEParam -> MIMEParam -> Bool
Ord MIMEParam Source # |
Instance details Defined in Codec.MIME.Type Methods compare :: MIMEParam -> MIMEParam -> Ordering (<) :: MIMEParam -> MIMEParam -> Bool (<=) :: MIMEParam -> MIMEParam -> Bool (>) :: MIMEParam -> MIMEParam -> Bool (>=) :: MIMEParam -> MIMEParam -> Bool max :: MIMEParam -> MIMEParam -> MIMEParam min :: MIMEParam -> MIMEParam -> MIMEParam
Show MIMEParam Source # |
Instance details Defined in Codec.MIME.Type Methods showsPrec :: Int -> MIMEParam -> ShowS show :: MIMEParam -> String showList :: [MIMEParam] -> ShowS

data Type Source #

Constructors

Type |

Fields

- mimeType :: MIMEType
- mimeParams :: [MIMEParam]

#### Instances

Instances details

Eq Type Source # |
Instance details Defined in Codec.MIME.Type Methods (==) :: Type -> Type -> Bool (/=) :: Type -> Type -> Bool
Ord Type Source # |
Instance details Defined in Codec.MIME.Type Methods compare :: Type -> Type -> Ordering (<) :: Type -> Type -> Bool (<=) :: Type -> Type -> Bool (>) :: Type -> Type -> Bool (>=) :: Type -> Type -> Bool max :: Type -> Type -> Type min :: Type -> Type -> Type
Show Type Source # |
Instance details Defined in Codec.MIME.Type Methods showsPrec :: Int -> Type -> ShowS show :: Type -> String showList :: [Type] -> ShowS

nullType :: Type Source #

The `null` MIME record type value; currently a `text/plain`.

showType :: Type -> Text Source #

showMIMEParams :: [MIMEParam] -> Text Source #

data MIMEType Source #

Constructors

Application SubType |
Audio SubType |
Image SubType |
Message SubType |
Model SubType |
Multipart Multipart |
Text TextType |
Video SubType |
Other |

Fields

- otherType :: Text
- otherSubType :: SubType

#### Instances

Instances details

Eq MIMEType Source # |
Instance details Defined in Codec.MIME.Type Methods (==) :: MIMEType -> MIMEType -> Bool (/=) :: MIMEType -> MIMEType -> Bool
Ord MIMEType Source # |
Instance details Defined in Codec.MIME.Type Methods compare :: MIMEType -> MIMEType -> Ordering (<) :: MIMEType -> MIMEType -> Bool (<=) :: MIMEType -> MIMEType -> Bool (>) :: MIMEType -> MIMEType -> Bool (>=) :: MIMEType -> MIMEType -> Bool max :: MIMEType -> MIMEType -> MIMEType min :: MIMEType -> MIMEType -> MIMEType
Show MIMEType Source # |
Instance details Defined in Codec.MIME.Type Methods showsPrec :: Int -> MIMEType -> ShowS show :: MIMEType -> String showList :: [MIMEType] -> ShowS

showMIMEType :: MIMEType -> Text Source #

data MIMEPair Source #

a (type, subtype) MIME pair.

Constructors

MIMEPair Text SubType |

#### Instances

Instances details

Eq MIMEPair Source # |
Instance details Defined in Codec.MIME.Type Methods (==) :: MIMEPair -> MIMEPair -> Bool (/=) :: MIMEPair -> MIMEPair -> Bool

showMIMEPair :: MIMEPair -> Text Source #

type SubType = Text Source #

default subtype representation.

type TextType = SubType Source #

subtype for text content; currently just a string.

subTypeString :: Type -> Text Source #

majTypeString :: Type -> Text Source #

data Multipart Source #

Constructors

Alternative |
Byteranges |
Digest |
Encrypted |
FormData |
Mixed |
Parallel |
Related |
Signed |
Extension Text | e.g., 'x-foo' (i.e., includes the 'x-' bit)
OtherMulti Text |

#### Instances

Instances details

Eq Multipart Source # |
Instance details Defined in Codec.MIME.Type Methods (==) :: Multipart -> Multipart -> Bool (/=) :: Multipart -> Multipart -> Bool
Ord Multipart Source # |
Instance details Defined in Codec.MIME.Type Methods compare :: Multipart -> Multipart -> Ordering (<) :: Multipart -> Multipart -> Bool (<=) :: Multipart -> Multipart -> Bool (>) :: Multipart -> Multipart -> Bool (>=) :: Multipart -> Multipart -> Bool max :: Multipart -> Multipart -> Multipart min :: Multipart -> Multipart -> Multipart
Show Multipart Source # |
Instance details Defined in Codec.MIME.Type Methods showsPrec :: Int -> Multipart -> ShowS show :: Multipart -> String showList :: [Multipart] -> ShowS

isXmlBased :: Type -> Bool Source #

isXmlType :: Type -> Bool Source #

showMultipart :: Multipart -> Text Source #

type Content = Text Source #

data MIMEValue Source #

Constructors

MIMEValue |

Fields

- mime_val_type :: Type
- mime_val_disp :: Maybe Disposition
- mime_val_content :: MIMEContent
- mime_val_headers :: [MIMEParam]
- mime_val_inc_type :: Bool

#### Instances

Instances details

Eq MIMEValue Source # |
Instance details Defined in Codec.MIME.Type Methods (==) :: MIMEValue -> MIMEValue -> Bool (/=) :: MIMEValue -> MIMEValue -> Bool
Show MIMEValue Source # |
Instance details Defined in Codec.MIME.Type Methods showsPrec :: Int -> MIMEValue -> ShowS show :: MIMEValue -> String showList :: [MIMEValue] -> ShowS

nullMIMEValue :: MIMEValue Source #

data MIMEContent Source #

Constructors

Single Content |
Multi [MIMEValue] |

#### Instances

Instances details

Eq MIMEContent Source # |
Instance details Defined in Codec.MIME.Type Methods (==) :: MIMEContent -> MIMEContent -> Bool (/=) :: MIMEContent -> MIMEContent -> Bool
Show MIMEContent Source # |
Instance details Defined in Codec.MIME.Type Methods showsPrec :: Int -> MIMEContent -> ShowS show :: MIMEContent -> String showList :: [MIMEContent] -> ShowS

data Disposition Source #

Constructors

Disposition |

Fields

- dispType :: DispType
- dispParams :: [DispParam]

#### Instances

Instances details

Eq Disposition Source # |
Instance details Defined in Codec.MIME.Type Methods (==) :: Disposition -> Disposition -> Bool (/=) :: Disposition -> Disposition -> Bool
Show Disposition Source # |
Instance details Defined in Codec.MIME.Type Methods showsPrec :: Int -> Disposition -> ShowS show :: Disposition -> String showList :: [Disposition] -> ShowS

data DispType Source #

Constructors

DispInline |
DispAttachment |
DispFormData |
DispOther Text |

#### Instances

Instances details

Eq DispType Source # |
Instance details Defined in Codec.MIME.Type Methods (==) :: DispType -> DispType -> Bool (/=) :: DispType -> DispType -> Bool
Show DispType Source # |
Instance details Defined in Codec.MIME.Type Methods showsPrec :: Int -> DispType -> ShowS show :: DispType -> String showList :: [DispType] -> ShowS

data DispParam Source #

Constructors

Name Text |
Filename Text |
CreationDate Text |
ModDate Text |
ReadDate Text |
Size Text |
OtherParam Text Text |

#### Instances

Instances details

Eq DispParam Source # |
Instance details Defined in Codec.MIME.Type Methods (==) :: DispParam -> DispParam -> Bool (/=) :: DispParam -> DispParam -> Bool
Show DispParam Source # |
Instance details Defined in Codec.MIME.Type Methods showsPrec :: Int -> DispParam -> ShowS show :: DispParam -> String showList :: [DispParam] -> ShowS