| 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 :: (MonadIO m, IsMultipartInputStream o) => o -> m MultipartInputStream
- noMultipartInputStream :: Maybe MultipartInputStream
- multipartInputStreamGetHeaders :: (HasCallStack, MonadIO m, IsMultipartInputStream a) => a -> m (Maybe MessageHeaders)
- multipartInputStreamNew :: (HasCallStack, MonadIO m, IsMessage a, IsInputStream b) => a -> b -> m MultipartInputStream
- multipartInputStreamNextPart :: (HasCallStack, MonadIO m, IsMultipartInputStream a, IsCancellable b) => a -> Maybe b -> m (Maybe InputStream)
- multipartInputStreamNextPartAsync :: (HasCallStack, MonadIO m, IsMultipartInputStream a, IsCancellable b) => a -> Int32 -> Maybe b -> Maybe AsyncReadyCallback -> m ()
- multipartInputStreamNextPartFinish :: (HasCallStack, MonadIO m, IsMultipartInputStream a, IsAsyncResult b) => a -> b -> m (Maybe InputStream)
- constructMultipartInputStreamMessage :: (IsMultipartInputStream o, IsMessage a) => a -> IO (GValueConstruct o)
- getMultipartInputStreamMessage :: (MonadIO m, IsMultipartInputStream o) => o -> m (Maybe Message)
Exported types
newtype MultipartInputStream Source #
Constructors
| MultipartInputStream (ManagedPtr MultipartInputStream) |
class GObject o => IsMultipartInputStream o Source #
toMultipartInputStream :: (MonadIO m, IsMultipartInputStream o) => o -> m MultipartInputStream Source #
Methods
getHeaders
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
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
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
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
constructMultipartInputStreamMessage :: (IsMultipartInputStream o, IsMessage a) => a -> IO (GValueConstruct o) Source #
getMultipartInputStreamMessage :: (MonadIO m, IsMultipartInputStream o) => o -> m (Maybe Message) Source #