### Method

# Soup MultipartInputStream next_part

#### Declaration [src]

    GInputStream*
    soup_multipart_input_stream_next_part (
      SoupMultipartInputStream* multipart,
      GCancellable* cancellable,
      GError** error
    )

#### Description [src]

Obtains an input stream for the next part.

When dealing with a multipart response the input stream needs to be wrapped in a `SoupMultipartInputStream` and this function or its async counterpart need to be called to obtain the first part for reading.

After calling this function, `soup_multipart_input_stream_get_headers()` 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.

#### Parameters

`cancellable` | `GCancellable`
| A `GCancellable`.
| The argument can be `NULL`.
| The data is owned by the caller of the function.
`error` | `GError **`
| The return location for a `GError*`, or `NULL`.

#### Return value

Returns: | `GInputStream`
| A new `GInputStream`, or `NULL` if there are no more parts.
| The caller of the method takes ownership of the data, and is responsible for freeing it.
| The return value can be `NULL`.