UriMatcherResponse : dans le champ d’application

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 4 minutes de lecture
  • Fournit des méthodes pour renvoyer des informations indiquant si un URI correspond aux critères spécifiés pour le schéma, l’hôte, le chemin, les fragments et la présence des paramètres de requête.

    Utilisez cette API avec l’API UriMatcher . Cette API n’a pas de constructeur. Utilisez plutôt la méthode UriMatcher - match() pour instancier un objet UriMatcherResponse .

    L’API UriMatcherResponse nécessite le module d’extension Fournisseur d’API REST (com.glide.rest), qui est activé par défaut.

    Cette API est fournie dans l’espace de noms sn_ws .

    UriMatcherResponse : getErrorMessages()

    Renvoie des messages sur toutes les erreurs qui se sont produites lors du test de l’URI par rapport aux critères spécifiés.

    Tableau 1. Paramètres
    Nom Type Description
    Aucun
    Tableau 2. Renvoie
    Type Description
    Chaîne Description de l’erreur qui s’est produite. Si aucune erreur ne s’est produite, une chaîne vide est renvoyée.

    Cet exemple renvoie une erreur, car un hôte n’a pas été fourni dans les critères de correspondance.

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

    Sortie :

    Error occurred: true
    Error message: Hosts rule is null or empty.

    UriMatcherResponse : isError()

    Vérifie si une erreur s’est produite lors du test de l’URI par rapport aux critères spécifiés.

    Tableau 3. Paramètres
    Nom Type Description
    Aucun
    Tableau 4. Renvoie
    Type Description
    Booléen

    Marqueur indiquant si une erreur s’est produite.

    Valeurs valides :
    • vrai : une erreur s’est produite.
    • faux : aucune erreur ne s’est produite.

    Cet exemple renvoie une erreur, car l’URI contient des paramètres de requête. L’erreur se produit parce que l’argument passé à match() pour disallowQueryParameters est vrai.

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

    Sortie :

    Error occurred: true
    Error message: Query parameters are not allowed for matching.

    UriMatcherResponse : isFragmentMatches()

    Vérifie si l’URI correspond aux critères pour les fragments.

    Tableau 5. Paramètres
    Nom Type Description
    Aucun
    Tableau 6. Renvoie
    Type Description
    Booléen

    Marqueur indiquant si l’URI correspond aux critères des fragments.

    Valeurs valides :
    • true : l’URI correspond aux critères pour les fragments.
    • false : l’URI ne correspond pas aux critères pour les fragments.

    Cet exemple montre que l’URI ne correspond pas aux critères, car il contient un fragment qui ne figure pas dans la liste des fragments autorisés.

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

    Sortie :

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

    Vérifie si l’URI correspond aux critères de l’hôte.

    Tableau 7. Paramètres
    Nom Type Description
    Aucun
    Tableau 8. Renvoie
    Type Description
    Booléen

    Marqueur indiquant si l’URI correspond aux critères de l’hôte.

    Valeurs valides :
    • true : l’URI correspond aux critères de l’hôte.
    • false : l’URI ne correspond pas aux critères de l’hôte.

    Cet exemple vérifie si l’URI correspond au schéma et à l’hôte spécifiés.

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

    Sortie :

    Is URI a match: true
    Is host a match: true

    UriMatcherResponse : isMatch()

    Vérifie si l’URI correspond à tous les critères spécifiés.

    Tableau 9. Paramètres
    Nom Type Description
    Aucun
    Tableau 10. Renvoie
    Type Description
    Booléen

    Marqueur indiquant si l’URI correspond à tous les critères spécifiés.

    Valeurs valides :
    • true : l’URI correspond à tous les critères.
    • faux : l’URI ne correspond pas à tous les critères.

    Cet exemple vérifie si l’URI correspond au schéma et à l’hôte spécifiés.

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

    Sortie :

    Is URI a match: true

    UriMatcherResponse : isPathMatches()

    Vérifie si l’URI correspond aux critères du chemin.

    Tableau 11. Paramètres
    Nom Type Description
    Aucun
    Tableau 12. Renvoie
    Type Description
    Booléen

    Marqueur indiquant si l’URI correspond aux critères du parcours.

    Valeurs valides :
    • true : l’URI correspond aux critères du chemin.
    • false : l’URI ne correspond pas aux critères du parcours.

    Cet exemple vérifie si l’URI correspond au schéma, à l’hôte et au chemin spécifiés.

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

    Sortie :

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

    Vérifie si l’URI correspond aux critères du schéma.

    Tableau 13. Paramètres
    Nom Type Description
    Aucun
    Tableau 14. Renvoie
    Type Description
    Booléen

    Marqueur indiquant si l’URI correspond aux critères du schéma.

    Valeurs valides :
    • true : l’URI correspond aux critères du schéma.
    • false : l’URI ne correspond pas aux critères du schéma.

    Cet exemple vérifie si l’URI correspond au schéma et à l’hôte spécifiés.

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

    Sortie :

    Is URI a match: true
    Is scheme a match: true