UriMatcher : délimité
Fournit une méthode permettant de vérifier si un URI correspond aux critères spécifiés pour le schéma, l’hôte, le chemin d’accès, les fragments et la présence de paramètres de requête.
L’API UriMatcher nécessite le module d’extension REST API Provider (com.glide.rest), qui est activé par défaut.
Cette API est fournie dans l’espace de noms sn_ws .
UriMatcher : UriMatcher()
Instancie un nouvel objet UriMatcher .
| Nom | Type | Description |
|---|---|---|
| Néant |
Instancie un objet UriMatcher .
var matcher = new sn_ws.UriMatcher();
UriMatcher : match(String uri, String scheme, Array hosts, Array paths, Array fragments, Boolean disallowQueryParameters)
Vérifie 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 de paramètres de requête.
| Nom | Type | Description |
|---|---|---|
| uri | Chaîne | URI à tester par rapport aux critères spécifiés. |
| schéma | Chaîne | Protocole utilisé dans l’URI. Valeurs valides :
|
| hôtes | Tableau | Liste des hôtes autorisés dans l’URI. L’URI doit utiliser l’un des hôtes autorisés pour être considéré comme une correspondance. |
| chemins d'accès | Tableau | Facultatif. Liste des chemins d’accès autorisés dans l’URI. L’URI doit utiliser l’un des chemins d’accès autorisés pour être considéré comme une correspondance, et le chemin d’accès autorisé doit être le chemin d’accès complet utilisé dans l’URI. Par exemple, si le chemin autorisé est Remarque :
Les chemins d’accès doivent commencer par /.Par défaut : tous les chemins sont autorisés. |
| fragments | Tableau | Facultatif. Liste des fragments autorisés dans l’URI. L’URI est considéré comme une correspondance même s’il ne contient aucun des fragments autorisés. L’URI n’est considéré comme non correspondant que s’il contient des fragments qui ne figurent pas sur la liste autorisée. Par défaut : tout fragment est autorisé. |
| disallowQueryParameters | Booléen | Facultatif. Marqueur indiquant si les paramètres de requête sont autorisés dans l’URI. Valeurs valides :
Valeur par défaut : false |
| Type | Description |
|---|---|
| Réponse UriMatcher | Objet UriMatcherResponse avec des méthodes pour renvoyer des informations détaillées sur la correspondance. |
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
Cet exemple vérifie si l’URI correspond au schéma, à l’hôte, au chemin, aux fragments et à la présence des paramètres de requête 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 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());
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
Error message: