|
constexpr | HttpStyleUri () noexcept |
| デフォルトコンストラクタです。オブジェクトを初期化します。
|
|
bool | FromUri (const Uri &uri) noexcept |
| Uri オブジェクトから変換します。 [詳解]
|
|
bool | ToUri (Uri *uri) const noexcept |
| Uri オブジェクトに変換します。 [詳解]
|
|
bool | Parse (const char *first, const char *last) noexcept |
| URIをパースします。 [詳解]
|
|
bool | Parse (const char *str) noexcept |
| Parse(str, str + nlib_strlen(str)) を返します。
|
|
bool | ComposeString (char *buf, size_t size) const noexcept |
| URI文字列を書き出します。 [詳解]
|
|
template<size_t N> |
bool | ComposeString (char(&buf)[N]) const noexcept |
| ComposeString(buf, N) を呼び出します。
|
|
bool | SetScheme (const char *scheme) noexcept |
| スキームを設定します。 [詳解]
|
|
bool | SetUserInfo (const char *userinfo) noexcept |
| ユーザー情報を設定します。 [詳解]
|
|
bool | SetHost (const char *host) noexcept |
| ホスト名を設定します。% エンコードを施しておく必要はありません。 [詳解]
|
|
bool | SetPort (int port) noexcept |
| ポート番号を設定します。 [詳解]
|
|
bool | SetPath (const char *path) noexcept |
| パスを設定します。 [詳解]
|
|
bool | SetQuery (const char *query) noexcept |
| クエリ文字列からクエリを設定します。 [詳解]
|
|
bool | SetFragment (const char *fragment) noexcept |
| フラグメント文字列を設定します。 [詳解]
|
|
bool | AddQuery (const char *key, const char *value) noexcept |
| クエリにキーと値を追加します。 [詳解]
|
|
const char * | GetScheme () const noexcept |
| スキーム名を取得します。"http"か"https"のどちらかです。 [詳解]
|
|
const char * | GetUserInfo () const noexcept |
| ユーザー情報を取得します。 [詳解]
|
|
const char * | GetHost () const noexcept |
| ホスト名を取得します。 [詳解]
|
|
int | GetPort () const noexcept |
| ポート番号を取得します。 [詳解]
|
|
size_t | GetNumSegment () const noexcept |
| 格納されているセグメントの数を取得します。 [詳解]
|
|
const char * | GetSegment (size_t i) const noexcept |
| インデックスを指定してセグメントを取得します。 [詳解]
|
|
bool | IsPathDirectory () const noexcept |
| パスがディレクトリ形式かどうかを取得します。 [詳解]
|
|
const char * | GetQueryValue (const char *key) const noexcept |
| キーを指定して値を取得します。見つからなかった場合はNULL を返します。 [詳解]
|
|
size_t | GetNumQuery () const noexcept |
| キーに対応する値を取得します。見つからなかった場合はNULL を返します。 [詳解]
|
|
const KeyValue * | GetQueryKeyValue (size_t i) const noexcept |
| インデックスを指定してキーと値のペアを取得します。見つからなかった場合はNULL を返します。 [詳解]
|
|
const char * | GetFragment () const noexcept |
| フラグメント文字列を取得します。 [詳解]
|
|
bool | AddBaseUri (const Uri &relative, const HttpStyleUri &base) noexcept |
| 相対パスを基底URIを用いて解決します。 [詳解]
|
|
void | Reset () noexcept |
| オブジェクトを初期化(リセット)します。
|
|
http/httpsスキームを用いたURIをパースしたりURI文字列を構築したりするためのクラスです。
- 非推奨:
- このクラスは将来の実装で削除されます。
Uri
, UriQueryDecoder
, UriQueryEncoder
を利用してください。
- 説明
- URI文字列がチェックされ、分割・正規化されて格納されます。 パスは../や./等が正規化されセグメントに分割されて格納されます。 例えば、
/test/../../../a/b/c
のようなパスは/a/b/c
のように正規化されてから各セグメントに分割されて格納されます(/../は/とみなされる)。 各セグメント内の%
エンコードされた文字はデコードされています。
- クエリ文字列はkey=valueを'&'で繋げた文字列になっているものをサポートします。 クエリ文字列は&で分割され、その中の最初の'='でkeyとvalueに分割され順番に格納されます。 keyが重複した場合もそのまま格納されます。 key,value内の
%
エンコードされた文字はデコードされています。
HttpStyleUri.h の 26 行目に定義があります。