UriMatcher : Bereichsbezogen

  • Freigeben Version: Yokohama
  • Aktualisiert 30. Januar 2025
  • 2 Minuten Lesedauer
  • Stellt eine Methode bereit, um zu überprüfen, ob ein URI die angegebenen Kriterien für Schema, Host, Pfad, Fragmente und Vorhandensein von Abfrageparametern erfüllt.

    Die UriMatcher -API erfordert das Plugin „REST API Provider“ (com.glide.rest), das standardmäßig aktiviert ist.

    Diese API wird im Namespace sn_ws bereitgestellt.

    UriMatcher: UriMatcher()

    Instanziiert ein neues UriMatcher -Objekt.

    Tabelle : 1. Parameter
    Name Typ Beschreibung
    Keine

    Instanziiert ein UriMatcher -Objekt.

    var matcher = new sn_ws.UriMatcher();

    UriMatcher – Übereinstimmung (Zeichenfolgen-URI, Zeichenfolgenschema, Array-Hosts, Array-Pfade, Array-Fragmente, boolesche DisallowQueryParameter)

    Überprüft, ob ein URI die angegebenen Kriterien für Schema, Host, Pfad, Fragmente und Vorhandensein von Abfrageparametern erfüllt.

    Tabelle : 2. Parameter
    Name Typ Beschreibung
    uri Zeichenfolge URI zum Testen anhand der angegebenen Kriterien.
    Schema Zeichenfolge Im URI verwendetes Protokoll.
    Gültige Werte:
    • http
    • https
    hosts Array Liste der zulässigen Hosts im URI.

    Der URI muss einen der zulässigen Hosts verwenden, um als Übereinstimmung betrachtet zu werden.

    paths Array Optional. Liste der zulässigen Pfade im URI.

    Der URI muss einen der zulässigen Pfade verwenden, um als Übereinstimmung betrachtet zu werden, und der zulässige Pfad muss der vollständige im URI verwendete Pfad sein. Beispiel: Wenn der zulässige Pfad /path1ist, gilt ein URI mit dem Pfad /path1/more nicht als Übereinstimmung.

    Hinweis:
    Pfade müssen mit /beginnen.

    Standard: Jeder Pfad ist zulässig.

    Fragmente Array Optional. Liste der zulässigen Fragmente im URI.

    Der URI gilt als Übereinstimmung, auch wenn er keines der zulässigen Fragmente enthält. Der URI gilt nur dann als nicht übereinstimmend, wenn er Fragmente enthält, die nicht in der zulässigen Liste enthalten sind.

    Standard: Jedes Fragment ist zulässig.

    disallowQueryParameters Boolean Optional. Kennzeichnung, die angibt, ob Abfrageparameter im URI zulässig sind.
    Gültige Werte:
    • wahr: Abfrageparameter sind nicht zulässig. Wenn Abfrageparameter im URI enthalten sind, tritt ein Fehler auf.
    • „falsch“: Abfrageparameter sind zulässig.

    Standardwert: false

    Tabelle : 3. Ergebnisse
    Typ Beschreibung
    UriMatcherResponse UriMatcherResponse- Objekt mit Methoden zum Zurückgeben detaillierter Informationen zur Übereinstimmung.

    In diesem Beispiel wird überprüft, ob der URI mit dem angegebenen Schema und Host übereinstimmt.

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

    Ausgabe:

    Is URI a match: true

    In diesem Beispiel wird überprüft, ob der URI mit dem angegebenen Schema, Host, Pfad, Fragmenten und Vorhandensein von Abfrageparametern übereinstimmt.

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

    Ausgabe:

    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: