Referentie voor regelset rule-set-reference

De Server van het beeld steunt een eenvoudig verzoek preprocessing mechanisme dat op regelmatige-uitdrukkingsgelijke en substitutieregels gebaseerd is.

De inzamelingen van voorverwerkingsregels (regelreeksen) kunnen aan beeldcatalogi of de standaardcatalogus worden vastgemaakt. De regels in de standaardcatalogus zijn alleen van toepassing als in de aanvraag geen specifieke hoofdafbeeldingscatalogus wordt geïdentificeerd.

De pre-verwerkingsregels van het verzoek kunnen de weg en vraaggedeelten verzoeken wijzigen alvorens zij door de parser van Platform Server worden verwerkt, met inbegrip van het manipuleren van de weg, het toevoegen van bevelen, het veranderen van bevelwaarden, en het toepassen van malplaatjes of macro's. De regels kunnen ook worden gebruikt om bepaalde veiligheidseigenschappen te vormen en met voeten te treden die normaal slechts met catalogusattributen, zoals verzoekverwarring, water-markering, en het beperken van de dienst tot specifieke cliëntIP adressen worden gecontroleerd.

Regelsets worden opgeslagen als XML-documentbestanden. Het relatieve of absolute pad van het bestand met regelsets moet worden opgegeven in attribute::RuleSetFile .

Algemene structuur section-8bcbd91ea8a946f28051bde8ad21827f

 <?xml version="1.0" encoding="UTF-8"?>
<ruleset>
   <rule>
      <expression>
<varname>
  expression
</varname></expression>
      <substitution>
<varname>
  substitution
</varname></substitution>
      <addressfilter>
<varname>
  addressFilter
</varname></addressfilter>
      <header>
<varname>
  headerValue
</varname></header>
   </rule>
</ruleset>

De elementen <?xml> en <ruleset> zijn altijd vereist in een geldig XML-bestand met regelsets, zelfs als er geen werkelijke regels zijn gedefinieerd.

Eén <ruleset> -element met een willekeurig aantal <rule> -elementen is toegestaan.

De inhoud van regelbestanden voor voorbewerken is hoofdlettergevoelig.

Validatie van regels section-d8d101a0b4d74580835e37d128d05567

Er wordt een kopie van RuleSet.xsd geleverd in de catalogusmap en deze moet worden gebruikt om een liniaalbestand te valideren voordat het in het catalog.ini -bestand wordt geregistreerd. Image Serving gebruikt een interne kopie van RuleSet.xsd voor validatie.

URL-voorbewerking section-2c09a2d79ada46b994857c6a7fb4c13a

Voordat een nieuwe verwerking wordt uitgevoerd, wordt een inkomende HTTP-aanvraag gedeeltelijk geparseerd om te bepalen welke afbeeldingscatalogus moet worden toegepast. Nadat de catalogus is geïdentificeerd, wordt de regelset toegepast voor de geselecteerde catalogus (of de standaardcatalogus als er geen specifieke catalogus is geïdentificeerd).

De <rule> -elementen worden gezocht in de volgorde die is opgegeven voor een overeenkomst met de inhoud van het <expression> -element ( expression ).

Als een <rule> overeenkomt, wordt de optionele substitution toegepast en wordt de gewijzigde aanvraagtekenreeks doorgegeven aan de request-parser van de server voor normale verwerking.

Als er geen overeenkomende aanvraag is gemaakt wanneer het einde van de <ruleset> is bereikt, wordt de aanvraag ongewijzigd aan de parser doorgegeven.

Het kenmerk OnMatch section-ed952fa55d99422db0ee68a2b9d395d3

Het standaardgedrag kan worden gewijzigd met het kenmerk OnMatch van het element <rule> . OnMatch kan worden ingesteld op break (standaardwaarde), continue of error .

Element en Attribuut
Gedrag wanneer een gelijke voorkomt
<rule OnMatch="break">
Regelverwerking wordt onmiddellijk beëindigd nadat de vervanging van deze regel is toegepast. Standaard.
<rule OnMatch="continue">
De vervanging wordt toegepast en de verwerking gaat verder met de volgende regel.
<rule OnMatch="error">
Regelverwerking wordt onmiddellijk beëindigd en een "verzoek geweigerd"antwoordstatus wordt teruggegeven aan de cliënt.

Cataloguskenmerken overschrijven section-3f1e33a65c5346d1b4a69958c61432f3

Het rule -element kan desgewenst kenmerken definiëren die de overeenkomende cataloguskenmerken overschrijven wanneer de regel correct wordt toegepast. Als meerdere overeenkomende regels hetzelfde kenmerk instellen, heeft de laatste voorrang. Zie ​ regel ​ element voor een lijst van attributen die met regels kunnen worden gecontroleerd.

Reguliere expressies section-3f77bb9a265147b38c645f63ab1bad8b

Eenvoudige tekenreeksovereenkomst werkt voor zeer basistoepassingen, maar in de meeste gevallen zijn reguliere expressies vereist. Reguliere expressies zijn industriestandaard, maar de specifieke implementatie verschilt per geval.

package java.util.regex ​ beschrijft de specifieke regelmatige uitdrukkingsimplementatie die door Beeld Serving wordt gebruikt.

Vastgelegde subtekenreeksen section-066e659406d5403599cd26ae35e80d68

Om complexe URL-wijzigingen mogelijk te maken, kunnen subtekenreeksen worden vastgelegd in de expressie door de subtekenreeks tussen haakjes (…) te plaatsen. Vastgelegde subtekenreeksen worden opeenvolgend genummerd, beginnend met 1 op basis van de positie van het voorloophaakje. De gevangen substrings kunnen in substitutie worden opgenomen gebruikend $ * n *, waar n het opeenvolgingsaantal van gevangen substring is.

Bestanden met regelsets beheren section-0598a608e4044bb4805fe93ceebe10a9

Met het cataloguskenmerk attribute::RuleSetFile kunt u één bestand met een regelset aan elke afbeeldingscatalogus koppelen. U kunt het regelsetbestand op elk gewenst moment bewerken, maar de afbeeldingsserver herkent de wijzigingen alleen wanneer de bijbehorende afbeeldingscatalogus opnieuw wordt geladen. Dit wordt opnieuw geladen wanneer de platformserver wordt gestart of opnieuw wordt gestart en wanneer het primaire catalogusbestand met het achtervoegsel .ini bestand wordt gewijzigd of "aangeraakt" om de bestandsdatum te wijzigen.

Voorbeelden section-aa769437d967459299b83a4bf34fe924

Voorbeeld A. bepaal een regel die de montages van de beeldkwaliteit verhoogt als de beeldnaam het achtervoegsel " _hg"heeft:

<rule>
   <expression>(?i)_hg$</expression>
   <substitution>\?&amp;qlt=95,1&amp;resmode=bicub</substitution>
</rule>

Met de regelexpressie wordt een niet-hoofdlettergevoelige overeenkomst van " _hg" opgegeven aan het einde van de URL-tekenreeks. Het achtervoegsel wordt vervangen door de opgegeven queryreeks waarmee de afbeeldingskwaliteitsinstellingen worden gewijzigd. Het teken ? in de vervangende tekenreeks wordt genegeerd, omdat dit een speciaal teken in reguliere expressies is.

NOTE
De vereiste codering voor het en-teken. U kunt de vervangende tekenreeks ook insluiten in een CDATA-blok:

<substitution><![CDATA[&qlt=95,1&resmode=bicub]]></substitution>

Voorbeeld B. een bepaalde Webtoepassing staat vraagkoorden niet toe. Definieer een regel die het navolgende padelement small , medium of large naar een sjabloon vertaalt, waarbij de rest van het pad als afbeeldingsnaam wordt gebruikt. myCat/myImage/small wordt bijvoorbeeld omgezet in myCat/smallTemplate?src=myCat/myImage .

U kunt subtekenreeksen gebruiken om de aanvraag te herstructureren:

<rule>
   <expression>([^/]+)/(small|medium|large)$</expression>
   <substitution>$2Template?src=sample/$1</substitution>
</rule>

Zie ook section-9b748e7c5cff4759a70f96657bd43352

​ pakket java.util.regex ​

recommendation-more-help
a26166cd-f2f4-45ce-996d-96a0f0d6cf49