UriMatcher - スコープ指定
URI がスキーム、ホスト、パス、フラグメント、およびクエリパラメーターの存在について指定された条件に一致するかどうかを確認するメソッドを提供します。
UriMatcher API には、デフォルトで有効になっている REST API プロバイダー (com.glide.rest) プラグインが必要です。
この API は sn_ws 名前空間内で提供されます。
UriMatcher - UriMatcher()
新しい UriMatcher オブジェクトをインスタンス化します。
| 名前 | タイプ | 説明 |
|---|---|---|
| なし |
UriMatcher オブジェクトをインスタンス化します。
var matcher = new sn_ws.UriMatcher();
UriMatcher - match(String uri, String scheme, Array hosts, Array paths, Array fragments, Boolean disallowQueryParameters)
URI が、スキーム、ホスト、パス、フラグメント、およびクエリパラメーターの存在について指定された基準に一致するかどうかを確認します。
| 名前 | タイプ | 説明 |
|---|---|---|
| URI | 文字列 | 指定された基準に対してテストする URI です。 |
| スキーム | 文字列 | URI で使用されるプロトコル。 有効な値:
|
| ホスト | アレイ | URI 内の許可されたホストのリスト。 URI は、一致と見なされる許可されているホストの 1 つを使用する必要があります。 |
| パス | アレイ | オプション。URI 内で許可されるパスのリスト。 URI は、一致と見なされる許可されるパスの 1 つを使用する必要があり、許可されるパスは URI で使用される完全パスである必要があります。たとえば、許可されたパスが 注:
パスは / で始まる必要があります。デフォルト:任意のパスが許可されます。 |
| フラグメント | アレイ | オプション。URI 内で許容されるフラグメントのリスト。 URI は、許可されたフラグメントが含まれていない場合でも一致と見なされます。URI は、許可リストにないフラグメントが含まれている場合にのみ、一致しないと見なされます。 デフォルト:任意のフラグメントが許可されます。 |
| disallowQueryParameters | ブール | オプション。URI でクエリパラメーターが許可されているかどうかを示すフラグ。 有効な値:
デフォルト値:false |
| タイプ | 説明 |
|---|---|
| UriMatcherResponse | 一致に関する詳細情報を返すためのメソッドを持つ UriMatcherResponse オブジェクト。 |
この例では、URI が指定されたスキームとホストと一致するかどうかを確認します。
var uri = "https://example.com/path?q=query";
var scheme = "https";
var allowedHosts = ["example.com"];
var matcher = new sn_ws.UriMatcher();
var resp = matcher.match(uri, scheme, allowedHosts);
gs.info("Is URI a match: " + resp.isMatch());
出力:
Is URI a match: true
この例では、URI が指定されたスキーム、ホスト、パス、フラグメント、およびクエリパラメーターの存在と一致するかどうかを確認します。
var uri = "https://example.com/path1/more";
var scheme = "https";
var allowedHosts = ["example.com", "sample.com"];
var allowedPaths = ["/path1/more", "/path2/less"];
var allowedFragments = ["section1", "section2"];
var noQueryParams = true;
var matcher = new sn_ws.UriMatcher();
var resp = matcher.match(uri, scheme, allowedHosts, allowedPaths, allowedFragments, noQueryParams);
gs.info("Is URI a match: " + resp.isMatch());
gs.info("Is scheme a match: " + resp.isSchemeMatches());
gs.info("Is host a match: " + resp.isHostMatches());
gs.info("Is path a match: " + resp.isPathMatches());
gs.info("Is fragment a match: " + resp.isFragmentMatches());
gs.info("Error occurred: " + resp.isError());
gs.info("Error message: " + resp.getErrorMessages());
出力:
Is URI a match: true
Is scheme a match: true
Is host a match: true
Is path a match: true
Is fragment a match: true
Error occurred: false
Error message: