| Copyright | Will Thompson, Iñaki García Etxebarria and Jonas Platte |
|---|---|
| License | LGPL-2.1 |
| Maintainer | Iñaki García Etxebarria (garetxe@gmail.com) |
| Safe Haskell | None |
| Language | Haskell2010 |
GI.Soup.Structs.Multipart
Contents
Description
Represents a multipart HTTP message body, parsed according to the syntax of RFC 2046. Of particular interest to HTTP are literalmultipartbyte-ranges<literal> and literalmultipartform-data<literal>.
Although the headers of a #SoupMultipart body part will contain the full headers from that body part, libsoup does not interpret them according to MIME rules. For example, each body part is assumed to have "binary" Content-Transfer-Encoding, even if its headers explicitly state otherwise. In other words, don't try to use #SoupMultipart for handling real MIME multiparts.
- newtype Multipart = Multipart (ManagedPtr Multipart)
- noMultipart :: Maybe Multipart
- data MultipartAppendFormFileMethodInfo
- multipartAppendFormFile :: MonadIO m => Multipart -> Text -> Text -> Text -> Buffer -> m ()
- data MultipartAppendFormStringMethodInfo
- multipartAppendFormString :: MonadIO m => Multipart -> Text -> Text -> m ()
- data MultipartAppendPartMethodInfo
- multipartAppendPart :: MonadIO m => Multipart -> MessageHeaders -> Buffer -> m ()
- data MultipartFreeMethodInfo
- multipartFree :: MonadIO m => Multipart -> m ()
- data MultipartGetLengthMethodInfo
- multipartGetLength :: MonadIO m => Multipart -> m Int32
- data MultipartGetPartMethodInfo
- multipartGetPart :: MonadIO m => Multipart -> Int32 -> m (Bool, MessageHeaders, Buffer)
- multipartNew :: MonadIO m => Text -> m Multipart
- multipartNewFromMessage :: MonadIO m => MessageHeaders -> MessageBody -> m (Maybe Multipart)
- data MultipartToMessageMethodInfo
- multipartToMessage :: MonadIO m => Multipart -> MessageHeaders -> MessageBody -> m ()
Exported types
Instances
| BoxedObject Multipart Source # | |
| ((~) * info (ResolveMultipartMethod t Multipart), MethodInfo * info Multipart p) => IsLabel t (Multipart -> p) Source # | |
| ((~) * info (ResolveMultipartMethod t Multipart), MethodInfo * info Multipart p) => IsLabelProxy t (Multipart -> p) Source # | |
| HasAttributeList * Multipart Source # | |
| ((~) * signature (MessageHeaders -> MessageBody -> m ()), MonadIO m) => MethodInfo * MultipartToMessageMethodInfo Multipart signature Source # | |
| ((~) * signature (Int32 -> m (Bool, MessageHeaders, Buffer)), MonadIO m) => MethodInfo * MultipartGetPartMethodInfo Multipart signature Source # | |
| ((~) * signature (m Int32), MonadIO m) => MethodInfo * MultipartGetLengthMethodInfo Multipart signature Source # | |
| ((~) * signature (m ()), MonadIO m) => MethodInfo * MultipartFreeMethodInfo Multipart signature Source # | |
| ((~) * signature (MessageHeaders -> Buffer -> m ()), MonadIO m) => MethodInfo * MultipartAppendPartMethodInfo Multipart signature Source # | |
| ((~) * signature (Text -> Text -> m ()), MonadIO m) => MethodInfo * MultipartAppendFormStringMethodInfo Multipart signature Source # | |
| ((~) * signature (Text -> Text -> Text -> Buffer -> m ()), MonadIO m) => MethodInfo * MultipartAppendFormFileMethodInfo Multipart signature Source # | |
| type AttributeList Multipart Source # | |
Methods
appendFormFile
multipartAppendFormFile :: MonadIO m => Multipart -> Text -> Text -> Text -> Buffer -> m () Source #
appendFormString
multipartAppendFormString :: MonadIO m => Multipart -> Text -> Text -> m () Source #
appendPart
data MultipartAppendPartMethodInfo Source #
Instances
| ((~) * signature (MessageHeaders -> Buffer -> m ()), MonadIO m) => MethodInfo * MultipartAppendPartMethodInfo Multipart signature Source # | |
multipartAppendPart :: MonadIO m => Multipart -> MessageHeaders -> Buffer -> m () Source #
free
multipartFree :: MonadIO m => Multipart -> m () Source #
getLength
getPart
multipartGetPart :: MonadIO m => Multipart -> Int32 -> m (Bool, MessageHeaders, Buffer) Source #
new
multipartNew :: MonadIO m => Text -> m Multipart Source #
newFromMessage
multipartNewFromMessage :: MonadIO m => MessageHeaders -> MessageBody -> m (Maybe Multipart) Source #
toMessage
data MultipartToMessageMethodInfo Source #
Instances
| ((~) * signature (MessageHeaders -> MessageBody -> m ()), MonadIO m) => MethodInfo * MultipartToMessageMethodInfo Multipart signature Source # | |
multipartToMessage :: MonadIO m => Multipart -> MessageHeaders -> MessageBody -> m () Source #