UriMatcherResponse - com escopo
Fornece métodos para retornar informações sobre se um URI corresponde aos critérios especificados para esquema, host, caminho, fragmentos e presença de parâmetros de consulta.
Use esta API com a API UriMatcher. Esta API não tem um construtor. Em vez disso, use o método UriMatcher - match() para instanciar um objeto UriMatcherResponse.
A API UriMatcherResponse requer o plug-in do provedor de REST API (com.glide.rest), que é ativado por padrão.
Esta API é fornecida no namespace sn_ws.
UriMatcherResponse – getErrorMessages()
Retorna mensagens sobre erros ocorridos ao testar o URI em relação aos critérios especificados.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Cadeia de caracteres | Descrição do erro ocorrido. Se não ocorreu nenhum erro, uma cadeia de caracteres vazia será retornada. |
Este exemplo retorna um erro porque um host não foi fornecido nos critérios de correspondência.
var uri = "https://example.com";
var scheme = "https";
var matcher = new sn_ws.UriMatcher();
var resp = matcher.match(uri, scheme);
gs.info("Error occurred: " + resp.isError());
gs.info("Error message: " + resp.getErrorMessages());
Saída:
Error occurred: true
Error message: Hosts rule is null or empty.
UriMatcherResponse – isError()
Verifica se ocorreu um erro ao testar o URI em relação aos critérios especificados.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Booliano |
Sinalizador que indica se ocorreu um erro. Valores válidos:
|
Este exemplo retorna um erro porque o URI contém parâmetros de consulta. O erro ocorre porque o argumento passado para match() para disallowQueryParameters é verdadeiro.
var uri = "https://example.com/path1/more?q=query";
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("Error occurred: " + resp.isError());
gs.info("Error message: " + resp.getErrorMessages());
Saída:
Error occurred: true
Error message: Query parameters are not allowed for matching.
UriMatcherResponse – isFragmentMatches()
Verifica se o URI corresponde aos critérios para fragmentos.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Booliano |
Sinalizador que indica se o URI corresponde aos critérios para fragmentos. Valores válidos:
|
Este exemplo mostra que o URI não corresponde aos critérios porque contém um fragmento que não está na lista de fragmentos permitidos.
var uri = "https://example.com/path1/more#section3";
var scheme = "https";
var allowedHosts = ["example.com", "sample.com"];
var allowedPaths = ["/path1/more", "/path2/less"];
var allowedFragments = ["section1", "section2"];
var matcher = new sn_ws.UriMatcher();
var resp = matcher.match(uri, scheme, allowedHosts, allowedPaths, allowedFragments);
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());
Saída:
Is URI a match: false
Is scheme a match: true
Is host a match: true
Is path a match: true
Is fragment a match: false
Error occurred: false
UriMatcherResponse – isHostMatches()
Verifica se o URI corresponde aos critérios do host.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Booliano |
Sinalizador que indica se o URI corresponde aos critérios do host. Valores válidos:
|
Este exemplo verifica se o URI corresponde ao esquema e ao host especificados.
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());
gs.info("Is host a match: " + resp.isHostMatches());
Saída:
Is URI a match: true
Is host a match: true
UriMatcherResponse – isMatch()
Verifica se o URI corresponde a todos os critérios especificados.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Booliano |
Sinalizador que indica se o URI corresponde a todos os critérios especificados. Valores válidos:
|
Este exemplo verifica se o URI corresponde ao esquema e ao host especificados.
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());
Saída:
Is URI a match: true
UriMatcherResponse – isPathMatches()
Verifica se o URI corresponde aos critérios do caminho.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Booliano |
Sinalizador que indica se o URI corresponde aos critérios do caminho. Valores válidos:
|
Este exemplo verifica se o URI corresponde ao esquema, host e caminho especificados.
var uri = "https://example.com/path1/more";
var scheme = "https";
var allowedHosts = ["example.com", "sample.com"];
var allowedPaths = ["/path1/more", "/path2/less"];
var matcher = new sn_ws.UriMatcher();
var resp = matcher.match(uri, scheme, allowedHosts, allowedPaths);
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());
Saída:
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
UriMatcherResponse – isSchemeMatches()
Verifica se o URI corresponde aos critérios do esquema.
| Nome | Tipo | Descrição |
|---|---|---|
| Nenhum |
| Tipo | Descrição |
|---|---|
| Booliano |
Sinalizador que indica se o URI corresponde aos critérios do esquema. Valores válidos:
|
Este exemplo verifica se o URI corresponde ao esquema e ao host especificados.
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());
gs.info("Is scheme a match: " + resp.isSchemeMatches());
Saída:
Is URI a match: true
Is scheme a match: true