Copyright | Will Thompson and Iñaki García Etxebarria |
---|---|
License | LGPL-2.1 |
Maintainer | Iñaki García Etxebarria |
Safe Haskell | None |
Language | Haskell2010 |
GI.Soup.Structs.Multipart
Description
Represents a multipart HTTP message body, parsed according to the syntax of RFC 2046.
Of particular interest to HTTP are multipart/byte-ranges
and
multipart/form-data
,
Although the headers of a Multipart
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
Multipart
for handling real MIME multiparts.
Synopsis
- newtype Multipart = Multipart (ManagedPtr Multipart)
- type family ResolveMultipartMethod (t :: Symbol) o where ...
- data MultipartAppendFormFileMethodInfo
- multipartAppendFormFile :: (HasCallStack, MonadIO m) => Multipart -> Text -> Maybe Text -> Maybe Text -> Bytes -> m ()
- data MultipartAppendFormStringMethodInfo
- multipartAppendFormString :: (HasCallStack, MonadIO m) => Multipart -> Text -> Text -> m ()
- data MultipartAppendPartMethodInfo
- multipartAppendPart :: (HasCallStack, MonadIO m) => Multipart -> MessageHeaders -> Bytes -> m ()
- data MultipartFreeMethodInfo
- multipartFree :: (HasCallStack, MonadIO m) => Multipart -> m ()
- data MultipartGetLengthMethodInfo
- multipartGetLength :: (HasCallStack, MonadIO m) => Multipart -> m Int32
- data MultipartGetPartMethodInfo
- multipartGetPart :: (HasCallStack, MonadIO m) => Multipart -> Int32 -> m (Bool, MessageHeaders, Bytes)
- multipartNew :: (HasCallStack, MonadIO m) => Text -> m Multipart
- multipartNewFromMessage :: (HasCallStack, MonadIO m) => MessageHeaders -> Bytes -> m (Maybe Multipart)
- data MultipartToMessageMethodInfo
- multipartToMessage :: (HasCallStack, MonadIO m) => Multipart -> MessageHeaders -> m Bytes
Exported types
Memory-managed wrapper type.
Constructors
Multipart (ManagedPtr Multipart) |
Instances
Methods
Click to display all available methods, including inherited ones
type family ResolveMultipartMethod (t :: Symbol) o where ... Source #
Equations
ResolveMultipartMethod "appendFormFile" o = MultipartAppendFormFileMethodInfo | |
ResolveMultipartMethod "appendFormString" o = MultipartAppendFormStringMethodInfo | |
ResolveMultipartMethod "appendPart" o = MultipartAppendPartMethodInfo | |
ResolveMultipartMethod "free" o = MultipartFreeMethodInfo | |
ResolveMultipartMethod "toMessage" o = MultipartToMessageMethodInfo | |
ResolveMultipartMethod "getLength" o = MultipartGetLengthMethodInfo | |
ResolveMultipartMethod "getPart" o = MultipartGetPartMethodInfo | |
ResolveMultipartMethod l o = MethodResolutionFailed l o :: Type |
appendFormFile
data MultipartAppendFormFileMethodInfo Source #
Instances
(signature ~ (Text -> Maybe Text -> Maybe Text -> Bytes -> m ()), MonadIO m) => OverloadedMethod MultipartAppendFormFileMethodInfo Multipart signature Source # | |
Defined in GI.Soup.Structs.Multipart Methods overloadedMethod :: Multipart -> signature # | |
OverloadedMethodInfo MultipartAppendFormFileMethodInfo Multipart Source # | |
Defined in GI.Soup.Structs.Multipart Methods |
multipartAppendFormFile Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> Multipart |
|
-> Text |
|
-> Maybe Text |
|
-> Maybe Text |
|
-> Bytes |
|
-> m () |
Adds a new MIME part containing body
to multipart
Uses "Content-Disposition: form-data", as per the HTML forms specification.
appendFormString
data MultipartAppendFormStringMethodInfo Source #
Instances
(signature ~ (Text -> Text -> m ()), MonadIO m) => OverloadedMethod MultipartAppendFormStringMethodInfo Multipart signature Source # | |
Defined in GI.Soup.Structs.Multipart Methods overloadedMethod :: Multipart -> signature # | |
OverloadedMethodInfo MultipartAppendFormStringMethodInfo Multipart Source # | |
Defined in GI.Soup.Structs.Multipart Methods |
multipartAppendFormString Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> Multipart |
|
-> Text |
|
-> Text |
|
-> m () |
Adds a new MIME part containing data
to multipart
.
Uses "Content-Disposition: form-data", as per the HTML forms specification.
appendPart
data MultipartAppendPartMethodInfo Source #
Instances
(signature ~ (MessageHeaders -> Bytes -> m ()), MonadIO m) => OverloadedMethod MultipartAppendPartMethodInfo Multipart signature Source # | |
Defined in GI.Soup.Structs.Multipart Methods overloadedMethod :: Multipart -> signature # | |
OverloadedMethodInfo MultipartAppendPartMethodInfo Multipart Source # | |
Defined in GI.Soup.Structs.Multipart Methods |
Arguments
:: (HasCallStack, MonadIO m) | |
=> Multipart |
|
-> MessageHeaders |
|
-> Bytes |
|
-> m () |
Adds a new MIME part to multipart
with the given headers and body.
(The multipart will make its own copies of headers
and body
, so
you should free your copies if you are not using them for anything
else.)
free
data MultipartFreeMethodInfo Source #
Instances
(signature ~ m (), MonadIO m) => OverloadedMethod MultipartFreeMethodInfo Multipart signature Source # | |
Defined in GI.Soup.Structs.Multipart Methods overloadedMethod :: Multipart -> signature # | |
OverloadedMethodInfo MultipartFreeMethodInfo Multipart Source # | |
Defined in GI.Soup.Structs.Multipart Methods |
Arguments
:: (HasCallStack, MonadIO m) | |
=> Multipart |
|
-> m () |
Frees multipart
.
getLength
data MultipartGetLengthMethodInfo Source #
Instances
(signature ~ m Int32, MonadIO m) => OverloadedMethod MultipartGetLengthMethodInfo Multipart signature Source # | |
Defined in GI.Soup.Structs.Multipart Methods overloadedMethod :: Multipart -> signature # | |
OverloadedMethodInfo MultipartGetLengthMethodInfo Multipart Source # | |
Defined in GI.Soup.Structs.Multipart Methods |
Arguments
:: (HasCallStack, MonadIO m) | |
=> Multipart |
|
-> m Int32 | Returns: the number of body parts in |
Gets the number of body parts in multipart
.
getPart
data MultipartGetPartMethodInfo Source #
Instances
(signature ~ (Int32 -> m (Bool, MessageHeaders, Bytes)), MonadIO m) => OverloadedMethod MultipartGetPartMethodInfo Multipart signature Source # | |
Defined in GI.Soup.Structs.Multipart Methods overloadedMethod :: Multipart -> signature # | |
OverloadedMethodInfo MultipartGetPartMethodInfo Multipart Source # | |
Defined in GI.Soup.Structs.Multipart Methods |
Arguments
:: (HasCallStack, MonadIO m) | |
=> Multipart |
|
-> Int32 |
|
-> m (Bool, MessageHeaders, Bytes) | Returns: |
Gets the indicated body part from multipart
.
new
Arguments
:: (HasCallStack, MonadIO m) | |
=> Text |
|
-> m Multipart | Returns: a new empty |
Creates a new empty Multipart
with a randomly-generated
boundary string.
Note that mimeType
must be the full MIME type, including "multipart/".
See also: [ctormessage
.new_from_multipart].
newFromMessage
multipartNewFromMessage Source #
Arguments
:: (HasCallStack, MonadIO m) | |
=> MessageHeaders |
|
-> Bytes |
|
-> m (Maybe Multipart) | Returns: a new |
Parses headers
and body
to form a new Multipart
toMessage
data MultipartToMessageMethodInfo Source #
Instances
(signature ~ (MessageHeaders -> m Bytes), MonadIO m) => OverloadedMethod MultipartToMessageMethodInfo Multipart signature Source # | |
Defined in GI.Soup.Structs.Multipart Methods overloadedMethod :: Multipart -> signature # | |
OverloadedMethodInfo MultipartToMessageMethodInfo Multipart Source # | |
Defined in GI.Soup.Structs.Multipart Methods |
Arguments
:: (HasCallStack, MonadIO m) | |
=> Multipart |
|
-> MessageHeaders |
|
-> m Bytes |
Serializes multipart
to destHeaders
and destBody
.