便利なHTTPクライアントAPI 3 Cutterライブラリ
便利なHTTPクライアントAPI HTTPクライアントとして動作するためのAPI。

## 概要

                        SoupCutClient;
                        SoupCutClientClass;
    SoupCutClient *     soupcut_client_new                  (void);
    void                soupcut_client_set_base             (SoupCutClient *client,
                                                             const gchar *uri);
    guint               soupcut_client_send_message         (SoupCutClient *client,
                                                             SoupMessage *message);
    guint               soupcut_client_get                  (SoupCutClient *client,
                                                             const gchar *uri,
                                                             const gchar *first_query_name,
                                                             ...);
    guint               soupcut_client_get_n_messages       (SoupCutClient *client);
    SoupMessage *       soupcut_client_get_latest_message   (SoupCutClient *client);
    GMainContext *      soupcut_client_get_async_context    (SoupCutClient *client);

## オブジェクト階層

      GObject
       +----SoupCutClient

## プロパティ

      "async"                    gboolean              : Read / Write

## 説明

SoupCutClientオブジェクトはHTTPクライアントとして動作します。SoupCutClientは複数のリクエストやレスポンスを管理することができます。また、SoupCutClientに関連するアサーションのAPIも提供しています。

## 詳細

### SoupCutClient

    typedef struct _SoupCutClient SoupCutClient;

SoupCutClient

### SoupCutClientClass

    typedef struct {
        GObjectClass parent_class;
    } SoupCutClientClass;

SoupCutClientClass

### soupcut_client_new ()

    SoupCutClient *     soupcut_client_new                  (void);

新たにSoupCutClientオブジェクトを生成して返します。

戻り値 :

  SoupCutClientオブジェクト。

1.0.8から

soupcut_client_new

### soupcut_client_set_base ()

    void                soupcut_client_set_base             (SoupCutClient *client,
                                                             const gchar *uri);

clientのベースURIをuriに設定します。

client :

  SoupCutClientオブジェクト。

uri :

  ベースURIの文字列。

1.0.8から

soupcut_client_set_base

### soupcut_client_send_message ()

    guint               soupcut_client_send_message         (SoupCutClient *client,
                                                             SoupMessage *message);

clientを使ってmessageを送信します。clientは過去に送信した全てのSoupMessageの情報を保持しています。

client :

  SoupCutClientオブジェクト。

message :

  SoupMessageオブジェクト。

戻り値 :

  レスポンスのステータスコード。

1.0.8から

soupcut_client_send_message

### soupcut_client_get ()

    guint               soupcut_client_get                  (SoupCutClient *client,
                                                             const gchar *uri,
                                                             const gchar *first_query_name,
                                                             ...);

uriとクエリパラメータで指定されたURIにGETリクエストを送信します。もしもclientのベースURIが`soupcut_client_set_base()`によって設定されていた場合は、URIはベースURIとuriを組み合わせたものとなります。そうでない場合は、uriは絶対URIである必要があります。

client :

  SoupCutClientオブジェクト。

uri :

  URI文字列。

first_query_name :

  ひとつめのクエリパラメータの名前

... :

  first_query_nameから始まる、クエリパラメータの名前と値のペア。最後に`NULL`を指定しなければいけません。

戻り値 :

  レスポンスのステータスコード。

1.0.8から

soupcut_client_get

### soupcut_client_get_n_messages ()

    guint               soupcut_client_get_n_messages       (SoupCutClient *client);

clientが送信した#SoupMessageの数。

client :

  SoupCutClientオブジェクト。

戻り値 :

  SoupMessageの数。

1.0.8から

soupcut_client_get_n_messages

### soupcut_client_get_latest_message ()

    SoupMessage *       soupcut_client_get_latest_message   (SoupCutClient *client);

clientが最後に送信したSoupMessageオブジェクト。

client :

  SoupCutClientオブジェクト。

戻り値 :

  最後に送信されたSoupMessageオブジェクト。

1.0.8から

soupcut_client_get_latest_message

### soupcut_client_get_async_context ()

    GMainContext *      soupcut_client_get_async_context    (SoupCutClient *client);

clientの非同期コンテキスト。

client :

  SoupCutClientオブジェクト。

戻り値 :

  clientのGMainContext。`NULL`が返る可能性があります。

1.0.8から

soupcut_client_get_async_context

## プロパティ詳細

### `"async"`プロパティ

      "async"                    gboolean              : Read / Write

セッションが非同期の場合は真。

デフォルト値: FALSE

SoupCutClient:async

## 参考

HTTPクライアント・サーバ用の検証