UriMatcher - Dans le champ d’application
Fournit une méthode pour vérifier 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.
L’API UriMatcher 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 .
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 des 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 complet utilisé dans l’URI. Par exemple, si le chemin d’accès 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 UriMatcherResponse | 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 spécifiés et à la présence des paramètres de requête.
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: