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.Objects.MultipartInputStream
Description
- newtype MultipartInputStream = MultipartInputStream (ManagedPtr MultipartInputStream)
- class GObject o => IsMultipartInputStream o
- toMultipartInputStream :: IsMultipartInputStream o => o -> IO MultipartInputStream
- noMultipartInputStream :: Maybe MultipartInputStream
- data MultipartInputStreamGetHeadersMethodInfo
- multipartInputStreamGetHeaders :: (HasCallStack, MonadIO m, IsMultipartInputStream a) => a -> m (Maybe MessageHeaders)
- multipartInputStreamNew :: (HasCallStack, MonadIO m, IsMessage a, IsInputStream b) => a -> b -> m MultipartInputStream
- data MultipartInputStreamNextPartMethodInfo
- multipartInputStreamNextPart :: (HasCallStack, MonadIO m, IsMultipartInputStream a, IsCancellable b) => a -> Maybe b -> m (Maybe InputStream)
- data MultipartInputStreamNextPartAsyncMethodInfo
- multipartInputStreamNextPartAsync :: (HasCallStack, MonadIO m, IsMultipartInputStream a, IsCancellable b) => a -> Int32 -> Maybe b -> Maybe AsyncReadyCallback -> m ()
- data MultipartInputStreamNextPartFinishMethodInfo
- multipartInputStreamNextPartFinish :: (HasCallStack, MonadIO m, IsMultipartInputStream a, IsAsyncResult b) => a -> b -> m (Maybe InputStream)
- data MultipartInputStreamMessagePropertyInfo
- constructMultipartInputStreamMessage :: (IsMultipartInputStream o, IsMessage a) => a -> IO (GValueConstruct o)
- getMultipartInputStreamMessage :: (MonadIO m, IsMultipartInputStream o) => o -> m (Maybe Message)
- multipartInputStreamMessage :: AttrLabelProxy "message"
Exported types
newtype MultipartInputStream Source #
Constructors
MultipartInputStream (ManagedPtr MultipartInputStream) |
Instances
GObject MultipartInputStream Source # | |
IsPollableInputStream MultipartInputStream Source # | |
IsFilterInputStream MultipartInputStream Source # | |
IsInputStream MultipartInputStream Source # | |
IsObject MultipartInputStream Source # | |
IsMultipartInputStream MultipartInputStream Source # | |
((~) * info (ResolveMultipartInputStreamMethod t MultipartInputStream), MethodInfo * info MultipartInputStream p) => IsLabel t (MultipartInputStream -> p) Source # | |
((~) * info (ResolveMultipartInputStreamMethod t MultipartInputStream), MethodInfo * info MultipartInputStream p) => IsLabelProxy t (MultipartInputStream -> p) Source # | |
HasAttributeList * MultipartInputStream Source # | |
type AttributeList MultipartInputStream Source # | |
type SignalList MultipartInputStream Source # | |
class GObject o => IsMultipartInputStream o Source #
Methods
getHeaders
data MultipartInputStreamGetHeadersMethodInfo Source #
Instances
((~) * signature (m (Maybe MessageHeaders)), MonadIO m, IsMultipartInputStream a) => MethodInfo * MultipartInputStreamGetHeadersMethodInfo a signature Source # | |
multipartInputStreamGetHeaders Source #
Arguments
:: (HasCallStack, MonadIO m, IsMultipartInputStream a) | |
=> a |
|
-> m (Maybe MessageHeaders) | Returns: a |
Obtains the headers for the part currently being processed. Note
that the MessageHeaders
that are returned are owned by the
MultipartInputStream
and will be replaced when a call is made
to multipartInputStreamNextPart
or its async
counterpart, so if keeping the headers is required, a copy must be
made.
Note that if a part had no headers at all an empty MessageHeaders
will be returned.
Since: 2.40
new
multipartInputStreamNew Source #
Arguments
:: (HasCallStack, MonadIO m, IsMessage a, IsInputStream b) | |
=> a |
|
-> b |
|
-> m MultipartInputStream | Returns: a new |
Creates a new MultipartInputStream
that wraps the
InputStream
obtained by sending the Request
. Reads should
not be done directly through this object, use the input streams
returned by multipartInputStreamNextPart
or its async
counterpart instead.
Since: 2.40
nextPart
data MultipartInputStreamNextPartMethodInfo Source #
Instances
((~) * signature (Maybe b -> m (Maybe InputStream)), MonadIO m, IsMultipartInputStream a, IsCancellable b) => MethodInfo * MultipartInputStreamNextPartMethodInfo a signature Source # | |
multipartInputStreamNextPart Source #
Arguments
:: (HasCallStack, MonadIO m, IsMultipartInputStream a, IsCancellable b) | |
=> a |
|
-> Maybe b |
|
-> m (Maybe InputStream) | Returns: a new |
Obtains an input stream for the next part. When dealing with a
multipart response the input stream needs to be wrapped in a
MultipartInputStream
and this function or its async
counterpart need to be called to obtain the first part for
reading.
After calling this function,
multipartInputStreamGetHeaders
can be used to obtain the
headers for the first part. A read of 0 bytes indicates the end of
the part; a new call to this function should be done at that point,
to obtain the next part.
Since: 2.40
nextPartAsync
data MultipartInputStreamNextPartAsyncMethodInfo Source #
Instances
((~) * signature (Int32 -> Maybe b -> Maybe AsyncReadyCallback -> m ()), MonadIO m, IsMultipartInputStream a, IsCancellable b) => MethodInfo * MultipartInputStreamNextPartAsyncMethodInfo a signature Source # | |
multipartInputStreamNextPartAsync Source #
Arguments
:: (HasCallStack, MonadIO m, IsMultipartInputStream a, IsCancellable b) | |
=> a |
|
-> Int32 |
|
-> Maybe b |
|
-> Maybe AsyncReadyCallback |
|
-> m () |
Obtains a InputStream
for the next request. See
multipartInputStreamNextPart
for details on the
workflow.
Since: 2.40
nextPartFinish
data MultipartInputStreamNextPartFinishMethodInfo Source #
Instances
((~) * signature (b -> m (Maybe InputStream)), MonadIO m, IsMultipartInputStream a, IsAsyncResult b) => MethodInfo * MultipartInputStreamNextPartFinishMethodInfo a signature Source # | |
multipartInputStreamNextPartFinish Source #
Arguments
:: (HasCallStack, MonadIO m, IsMultipartInputStream a, IsAsyncResult b) | |
=> a |
|
-> b |
|
-> m (Maybe InputStream) | Returns: a newly created
|
Finishes an asynchronous request for the next part.
Since: 2.40
Properties
message
data MultipartInputStreamMessagePropertyInfo Source #
Instances
constructMultipartInputStreamMessage :: (IsMultipartInputStream o, IsMessage a) => a -> IO (GValueConstruct o) Source #
getMultipartInputStreamMessage :: (MonadIO m, IsMultipartInputStream o) => o -> m (Maybe Message) Source #
multipartInputStreamMessage :: AttrLabelProxy "message" Source #