|
Octane API Client
|
HttpClientクラスを通じてHTTP通信を行うインタフェース。 More...
#include <fetch.h>

Public Types | |
| using | FetchResult = Result< FetchResponse, ErrorResponse > |
Public Member Functions | |
| virtual | ~FetchBase () noexcept=0 |
| virtual Result< _, ErrorResponse > | init ()=0 |
| Fetchのインスタンスを初期化する。 More... | |
| virtual FetchResult | request (HttpMethod method, std::string_view url)=0 |
| APIへのボディ部を持たないリクエストを発行する。 More... | |
| virtual FetchResult | request (HttpMethod method, std::string_view url, const rapidjson::Document &body)=0 |
| APIへのJSON形式のボディ部を持つリクエストを発行する。 More... | |
| virtual FetchResult | request (HttpMethod method, std::string_view url, std::string_view mimeType, const std::vector< std::uint8_t > &body)=0 |
| APIへの任意のContent-Typeのボディ部を持つリクエストを発行する。 More... | |
HttpClientクラスを通じてHTTP通信を行うインタフェース。
このインタフェースを実装したクラスは3xx番台のレスポンスを受けたときにリダイレクト処理を行わなければならない。 また、このリダイレクト処理はHTTPヘッダのLocationに従う。 {
|
pure virtualnoexcept |
|
pure virtual |
Fetchのインスタンスを初期化する。
このメソッドはインスタンス一つにつき一度だけ呼び出すことができる。 また、インスタンスを作成した直後に呼び出さなければならない。 失敗した場合は次のエラーレスポンスを返す。
Implemented in octane::internal::Fetch.

|
pure virtual |
APIへのボディ部を持たないリクエストを発行する。
このメソッドはボディを持たないリクエストに使用する。 GET及びDELETEリクエストは必ずこのメソッドを使用しなければならない。 失敗した場合は次のエラーレスポンスを返す。
| [in] | method | リクエストに使用するHTTPメソッド |
| [in] | url | APIへのURL |
Implemented in octane::internal::Fetch.

|
pure virtual |
APIへのJSON形式のボディ部を持つリクエストを発行する。
このメソッドはJSON形式のボディを持つリクエストに使用する。 GET及びDELETEリクエストはこのメソッドを使用してはならず、代わりにFetch::request(HttpMethod method, std::string_view url)を使用すること。 失敗した場合は次のエラーレスポンスを返す。
| [in] | method | リクエストに使用するHTTPメソッド |
| [in] | url | APIへのURL |
| [in] | body | APIリクエストのボディ部 |
Implemented in octane::internal::Fetch.
|
pure virtual |
APIへの任意のContent-Typeのボディ部を持つリクエストを発行する。
このメソッドは任意のContent-Typeのボディを持つリクエストに使用する。 JSON形式のリクエストの場合はFetch::request(HttpMethod method,
std::string_view url, const rapidjson::Document& body)の使用を推奨する。 GET及びDELETEリクエストはこのメソッドを使用してはならず、代わりにFetch::request(HttpMethod method, std::string_view url)を使用すること。 失敗した場合は次のエラーレスポンスを返す。
| [in] | method | リクエストに使用するHTTPメソッド |
| [in] | url | APIへのURL |
| [in] | body | APIリクエストのボディ部 |
Implemented in octane::internal::Fetch.