multipart-0.1.0.1: A partial fork of the cgi package exposing the multipart module

Portabilitynon-portable
Stabilityexperimental
MaintainerAnders Kaseorg <andersk@mit.edu>
Safe HaskellNone

Network.Multipart

Contents

Description

Parsing of the multipart format from RFC2046. Partly based on code from WASHMail.

Synopsis

Multi-part messages

parseMultipartBodySource

Arguments

:: String

Boundary

-> ByteString 
-> MultiPart 

Read a multi-part message from a ByteString.

hGetMultipartBodySource

Arguments

:: String

Boundary

-> Handle 
-> IO MultiPart 

Read a multi-part message from a Handle. Fails on parse errors.

Headers

data ContentType

A MIME media type value. The Show instance is derived automatically. Use showContentType to obtain the standard string representation. See http://www.ietf.org/rfc/rfc2046.txt for more information about MIME media types.

Constructors

ContentType 

Fields

ctType :: String

The top-level media type, the general type of the data. Common examples are "text", "image", "audio", "video", "multipart", and "application".

ctSubtype :: String

The media subtype, the specific data format. Examples include "plain", "html", "jpeg", "form-data", etc.

ctParameters :: [(String, String)]

Media type parameters. On common example is the charset parameter for the "text" top-level type, e.g. ("charset","ISO-8859-1").

parseContentType :: Monad m => String -> m ContentType

Parse the standard representation of a content-type. If the input cannot be parsed, this function calls fail with a (hopefully) informative error message.