## SoupRequest

SoupRequest — Protocol-independent streaming request interface

## Functions

GInputStream * | soup_request_send ()
void | soup_request_send_async ()
GInputStream * | soup_request_send_finish ()
goffset | soup_request_get_content_length ()
const char * | soup_request_get_content_type ()
SoupSession * | soup_request_get_session ()
SoupURI * | soup_request_get_uri ()

## Properties

SoupSession * | session | Read / Write / Construct Only
SoupURI * | uri | Read / Write / Construct Only

## Types and Values

| SoupRequest
#define | SOUP_REQUEST_SESSION
#define | SOUP_REQUEST_URI

## Object Hierarchy

        GObject
        ╰── SoupRequest
            ├── SoupRequestData
            ├── SoupRequestFile
            ╰── SoupRequestHTTP

## Implemented Interfaces

SoupRequest implements GInitable.

## Includes

    #include <libsoup/soup.h>

## Description

A SoupRequest is created by SoupSession, and represents a request to retrieve a particular URI.

## Functions

### soup_request_send ()

    GInputStream *
    soup_request_send (SoupRequest *request,
                       GCancellable *cancellable,
                       GError **error);

Synchronously requests the URI pointed to by `request` , and returns a GInputStream that can be used to read its contents.

Note that you cannot use this method with SoupRequests attached to a SoupSessionAsync.

#### Parameters

request | a SoupRequest |
cancellable | a GCancellable or `NULL` |
error | return location for a GError, or `NULL` |

#### Returns

a GInputStream that can be used to read from the URI pointed to by `request` .

[transfer full]

Since 2.42

### soup_request_send_async ()

    void
    soup_request_send_async (SoupRequest *request,
                             GCancellable *cancellable,
                             GAsyncReadyCallback callback,
                             gpointer user_data);

Begins an asynchronously request for the URI pointed to by `request` .

Note that you cannot use this method with SoupRequests attached to a SoupSessionSync.

#### Parameters

request | a SoupRequest |
cancellable | a GCancellable or `NULL` |
callback | a GAsyncReadyCallback |
user_data | user data passed to `callback` |

Since 2.42

### soup_request_send_finish ()

    GInputStream *
    soup_request_send_finish (SoupRequest *request,
                              GAsyncResult *result,
                              GError **error);

Gets the result of a `soup_request_send_async()`.

#### Parameters

request | a SoupRequest |
result | the GAsyncResult |
error | return location for a GError, or `NULL` |

#### Returns

a GInputStream that can be used to read from the URI pointed to by `request` .

[transfer full]

Since 2.42

### soup_request_get_content_length ()

    goffset
    soup_request_get_content_length (SoupRequest *request);

Gets the length of the data represented by `request` . For most request types, this will not be known until after you call `soup_request_send()` or `soup_request_send_finish()`.

#### Parameters

request | a SoupRequest |

#### Returns

the length of the data represented by `request` , or -1 if not known.

Since 2.42

### soup_request_get_content_type ()

    const char *
    soup_request_get_content_type (SoupRequest *request);

Gets the type of the data represented by `request` . For most request types, this will not be known until after you call `soup_request_send()` or `soup_request_send_finish()`.

As in the HTTP Content-Type header, this may include parameters after the MIME type.

#### Parameters

request | a SoupRequest |

#### Returns

the type of the data represented by `request` , or `NULL` if not known.

Since 2.42

### soup_request_get_session ()

    SoupSession *
    soup_request_get_session (SoupRequest *request);

Gets `request` 's SoupSession

#### Parameters

request | a SoupRequest |

#### Returns

`request` 's SoupSession.

[transfer none]

Since 2.42

### soup_request_get_uri ()

    SoupURI *
    soup_request_get_uri (SoupRequest *request);

Gets `request` 's URI

#### Parameters

request | a SoupRequest |

#### Returns

`request` 's URI.

[transfer none]

Since 2.42

## Types and Values

### SoupRequest

    typedef struct _SoupRequest SoupRequest;

A request to retrieve a particular URI.

Since 2.42

### SOUP_REQUEST_SESSION

    #define SOUP_REQUEST_SESSION "session"

Alias for the “session” property, qv.

Since 2.42

### SOUP_REQUEST_URI

    #define SOUP_REQUEST_URI     "uri"

Alias for the “uri” property, qv.

Since 2.42

## Property Details

### The `“session”` property

      “session”                  SoupSession *

The request's SoupSession.

Flags: Read / Write / Construct Only

Since 2.42

### The `“uri”` property

      “uri”                      SoupURI *

The request URI.

Flags: Read / Write / Construct Only

Since 2.42