UriMatcher - Com escopo

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 2 min. de leitura
  • Fornece um método para verificar se um URI corresponde aos critérios especificados para esquema, host, caminho, fragmentos e presença de parâmetros de consulta.

    . UriMatcher A API requer o plug-in REST API Provider (com.glide.rest), que é ativado por padrão.

    Esta API é fornecida no sn_ws namespace.

    URIMatcher - URIMatcher()

    Instancia um novo UriMatcher objeto.

    Tabela 1. Parâmetros
    Nome Tipo Descrição
    Nenhum(a)

    Instancia um UriMatcher objeto.

    var matcher = new sn_ws.UriMatcher();

    uri de cadeia de caracteres, esquema de cadeia de caracteres, hosts de matriz, caminhos de matriz, fragmentos de matriz, booliano disallowQueryParameters)

    Verifica se um URI corresponde aos critérios especificados para esquema, host, caminho, fragmentos e presença de parâmetros de consulta.

    Tabela 2. Parâmetros
    Nome Tipo Descrição
    URI Cadeia de caracteres URI a ser testado em relação aos critérios especificados.
    esquema Cadeia de caracteres Protocolo usado no URI.
    Valores válidos:
    • http
    • https
    hosts Matriz Lista de hosts permitidos no URI.

    O URI deve usar um dos hosts permitidos para ser considerado uma correspondência.

    caminhos Matriz Opcional. Lista de caminhos permitidos no URI.

    O URI deve usar um dos caminhos permitidos para ser considerado uma correspondência, e o caminho permitido deve ser o caminho completo usado no URI. Por exemplo, se o caminho permitido for /path1 , Um URI com o caminho /path1/mais não é considerado uma correspondência.

    Nota:
    Os caminhos devem começar com / .

    Padrão: Qualquer caminho é permitido.

    fragmentos Matriz Opcional. Lista de fragmentos permitidos no URI.

    O URI é considerado uma correspondência mesmo que não contenha nenhum dos fragmentos permitidos. O URI só será considerado não correspondente se contiver fragmentos que não estão na lista permitida.

    Padrão: Qualquer fragmento é permitido.

    DisallowQueryParameters Booliano Opcional. Sinalizador que indica se os parâmetros de consulta são permitidos no URI.
    Valores válidos:
    • Verdadeiro: Parâmetros de consulta não são permitidos. Se os parâmetros de consulta estiverem incluídos no URI, ocorrerá um erro.
    • Falso: Parâmetros de consulta são permitidos.

    Padrão: falso

    Tabela 3. Retornos
    Tipo Descrição
    Resposta de resposta de resposta de resposta de resposta Resposta de resposta de resposta de resposta de resposta objeto com métodos para retornar informações detalhadas sobre a correspondência.

    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

    Este exemplo verifica se o URI corresponde ao esquema especificado, host, caminho, fragmentos e presença de parâmetros de consulta.

    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());

    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
    Error message: