--- |Convert a 'MIMEType' to 'Ascii'.
-printMIMEType ∷ MIMEType → Ascii
-printMIMEType (MIMEType maj min params)
- = A.fromAsciiBuilder $
- ( A.toAsciiBuilder maj ⊕
- A.toAsciiBuilder "/" ⊕
- A.toAsciiBuilder min ⊕
- if null params then
- (∅)
- else
- A.toAsciiBuilder "; " ⊕
- joinWith "; " (map printPair params)
- )
- where
- printPair ∷ (CIAscii, Ascii) → A.AsciiBuilder
- printPair (name, value)
- = A.toAsciiBuilder (A.fromCIAscii name) ⊕
- A.toAsciiBuilder "=" ⊕
- if any ((¬) ∘ isToken) value then
- quoteStr value
- else
- A.toAsciiBuilder value
+instance Lift MIMEType where
+ lift (MIMEType {..})
+ = [| MIMEType {
+ mtMedia = $(lift mtMedia )
+ , mtSub = $(lift mtSub )
+ , mtParams = $(lift mtParams)
+ }
+ |]