Conditions de la règle de chiffrement
Les conditions de la règle de chiffrement déterminent si la règle doit être exécutée.
Une condition de règle de chiffrement doit renvoyer la valeur true si la règle doit gérer la requête HTTP ; sinon, elle doit retourner false.
Lorsque vous créez votre condition, gardez à l’esprit qu’une seule règle est exécutée par demande. Par conséquent, la condition doit être aussi générale ou spécifique que nécessaire pour fonctionner dans les circonstances prévues.
Remarque :
Soyez prudent lorsque vous effectuez des vérifications du contenu de l’état. Des vérifications excessives peuvent être coûteuses pour le serveur proxy et entraîner une latence accrue lors du traitement de demandes complexes.
La condition peut utiliser le type de méthode, le type de contenu, le chemin d’accès URL ou n’importe quel paramètre de chaîne de requête d’URL pour déterminer si la règle doit gérer la demande. La condition a accès à ces champs via l’objet request . Avant de créer une condition de règle de chiffrement, assurez-vous d’avoir inspecté la demande du client et d’avoir compris les conditions requises pour déclencher la règle.
Remarque :
Pour créer des règles efficaces, envisagez des moyens simples d’exclure les demandes que vous ne souhaitez pas voir évaluées par une règle. Construisez votre condition pour qu’elle retourne d’abord la valeur faux pour ces demandes. Cette méthode augmente les performances et achemine rapidement la demande vers la règle appropriée.
Objets de règles de chiffrement et API sont disponibles pour les conditions de règle de chiffrement.
Exemple utilisant path et postParams
/*This condition checks if the request coming in has a path ending in
"/sample_processor.do" and if a post parameter exists in that request called myPostParam */
function SampleCondition(request) {
if (endsWith(request.path, "/sample_processor.do") && request.postParams.myPostParam) {
return true;
}
return false;
}Exemple utilisant urlParams et contentType
/* This condition checks if a url parameter exists in the query called
myUrlParam and if the content type contains 'xml'
(if so, you can expect the body to be an XML payload).
Then, it checks if the xml payload contains myXmlTag */
function SampleCondition2(request) {
if (request.urlParams.myUrlParam && request.contentType.indexOf('xml') > -1 && request.xmlContains('myXmlTag')) {
return true;
}
return false;
}