Riferimento set di regole rule-set-reference

Image Server supporta un semplice meccanismo di preelaborazione delle richieste basato su regole di corrispondenza e sostituzione delle espressioni regolari.

Raccolte di regole di pre-elaborazione (set di regole) può essere allegato ai cataloghi di immagini o al catalogo predefinito. Le regole del catalogo predefinito si applicano solo se la richiesta non identifica un catalogo principale di immagini specifico.

Le regole di pre-elaborazione delle richieste possono modificare il percorso e eseguire query su parti delle richieste prima che vengano elaborate da Platform Serverparser di, inclusa la modifica del percorso, l'aggiunta di comandi, la modifica dei valori dei comandi e l'applicazione di modelli o macro. Le regole possono essere utilizzate anche per configurare e ignorare alcune funzioni di sicurezza che di solito sono controllate solo con attributi di catalogo, come offuscamento delle richieste, watermark, nonché per limitare il servizio a specifici indirizzi IP client.

I set di regole vengono memorizzati come file di documenti XML. Il percorso relativo o assoluto del file del set di regole deve essere specificato in attribute::RuleSetFile.

Struttura generale 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>

Il <?xml> e <ruleset> Gli elementi sono sempre necessari in un file XML di set di regole valido, anche se non sono definite regole effettive.

Uno <ruleset> elemento contenente un numero qualsiasi di <rule> sono consentiti.

Il contenuto dei file delle regole di preelaborazione distingue tra maiuscole e minuscole.

Convalida set di regole section-d8d101a0b4d74580835e37d128d05567

Una copia di RuleSet.xsd viene fornito nella cartella del catalogo e deve essere utilizzato per convalidare un file di set di regole prima di registrarlo in catalog.ini file. Image Server utilizza una copia interna di RuleSet.xsd per la convalida.

Pre-elaborazione URL section-2c09a2d79ada46b994857c6a7fb4c13a

Prima di qualsiasi altra elaborazione, viene parzialmente analizzata una richiesta HTTP in ingresso per determinare quale catalogo immagini applicare. Una volta identificato il catalogo, viene applicato il set di regole per il catalogo selezionato (o il catalogo predefinito, se non è stato identificato alcun catalogo specifico).

Il <rule> Gli elementi vengono cercati nell'ordine specificato per una corrispondenza con il contenuto del <expression> elemento ( expression).

Se un <rule> corrisponde, l'opzione substitution viene applicata e la stringa di richiesta modificata viene passata al parser di richieste del server per la normale elaborazione.

Se non viene trovata alcuna corrispondenza corretta quando la fine del <ruleset> viene raggiunto, la richiesta viene passata al parser senza modifiche.

Attributo OnMatch section-ed952fa55d99422db0ee68a2b9d395d3

Il comportamento predefinito può essere modificato con OnMatch attributo del <rule> elemento. OnMatch può essere impostato su break (impostazione predefinita), continue, o error.

Elemento e attributo
Comportamento quando si verifica una corrispondenza
<rule OnMatch="break">
L'elaborazione delle regole viene terminata immediatamente dopo l'applicazione della sostituzione per questa regola. Predefinito.
<rule OnMatch="continue">
La sostituzione viene applicata e l’elaborazione continua con la regola successiva.
<rule OnMatch="error">
L’elaborazione delle regole viene interrotta immediatamente e al client viene restituito lo stato di risposta "richiesta rifiutata".

Ignorare gli attributi del catalogo section-3f1e33a65c5346d1b4a69958c61432f3

Il rule L'elemento può facoltativamente definire attributi che sostituiscono gli attributi di catalogo corrispondenti quando la regola viene trovata correttamente. Se più regole corrispondenti impostano lo stesso attributo, prevale l’ultimo. Consulta regola per un elenco di attributi che possono essere controllati tramite regole.

Espressioni regolari section-3f77bb9a265147b38c645f63ab1bad8b

La corrispondenza delle stringhe semplice funziona per applicazioni molto semplici, ma nella maggior parte dei casi sono necessarie espressioni regolari. Anche se le espressioni regolari sono standard di settore, l’implementazione specifica varia da un’istanza all’altra.

package java.util.regexdescrive l’implementazione specifica di espressioni regolari utilizzata da Image Server.

Sottostringhe acquisite section-066e659406d5403599cd26ae35e80d68

Per facilitare modifiche URL complesse, è possibile acquisire sottostringhe nell’espressione racchiudendo la sottostringa tra parentesi (…). Le sottostringhe acquisite vengono numerate in sequenza iniziando da 1 in base alla posizione delle parentesi iniziali. Le sottostringhe acquisite possono essere inserite nella sostituzione utilizzando $ *n*, dove n è il numero di sequenza della sottostringa acquisita.

Gestione dei file del set di regole section-0598a608e4044bb4805fe93ceebe10a9

È possibile allegare un file di set di regole a ciascun catalogo immagini con l’attributo catalogo attribute::RuleSetFile. Anche se è possibile modificare il file del set di regole in qualsiasi momento, il server immagini riconosce le modifiche solo quando il catalogo immagini associato viene ricaricato. Questo ricaricamento si verifica all'avvio o al riavvio del server della piattaforma e ogni volta che il file di catalogo principale, che include .ini suffisso del file, viene modificato o "toccato" per modificare la data del file.

Esempi section-aa769437d967459299b83a4bf34fe924

Esempio A. Definisci una regola che aumenti le impostazioni di qualità delle immagini se il nome dell’immagine ha il suffisso " _hg":

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

L’espressione della regola specifica una corrispondenza senza distinzione tra maiuscole e minuscole di " _hg" alla fine della stringa URL. Il suffisso viene sostituito con la stringa di query specificata che modifica le impostazioni di qualità dell'immagine. Tieni presente che ? carattere nella stringa di sostituzione è preceduta da un carattere di escape, in quanto si tratta di un carattere speciale nelle espressioni regolari.

NOTE
La codifica richiesta per il carattere e commerciale. In alternativa, la stringa di sostituzione potrebbe essere racchiusa in un blocco CDATA:

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

Esempio B. Una particolare applicazione Web non consente stringhe di query. Definisci una regola che traduca l’elemento del percorso finale small, medium, o large in un modello, utilizzando il resto del percorso come nome dell'immagine. Ad esempio: myCat/myImage/small tradurrebbe in myCat/smallTemplate?src=myCat/myImage.

È possibile utilizzare le sottostringhe per ristrutturare la richiesta:

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

Consultate anche section-9b748e7c5cff4759a70f96657bd43352

pacchetto java.util.regex

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