2016-12-30 4 views
0

Est-il possible de supprimer un élément du hachage qui a déjà été ajouté via un précédent appel à hash_data()?Vernis supprimer de hash_data

J'ai un vernis 3 serveur exécutant devant une pile standard LAMP et en utilisant le Maxmind geoip VMOD par la documentation de vernis, sauf il y a un fichier inclus VCL que je n'ai pas autorisé à modifier ce qui a essentiellement:

sub vcl_hash { 
    if (req.http.X-Geo-Country) { 
    hash_data(req.http.X-Geo-Country); 
    } 
} 

Je sais que je peux appeler vcl_hash plusieurs fois et ils concaténer pour donc ce que je voudrais faire est quelque chose comme ci-dessous (un_hash_data n'existe pas) pour que seulement la page d'accueil hachages sur req. http.X-Géo-Pays. Y a-t-il quelque chose comme un_hash_data() qui peut l'enlever du hash?

sub vcl_hash { 
    if (req.url == "/") { 
    un_hash_data(req.http.X-Geo-Country); 
    } 
} 

Répondre

0

En vcl_recv vous pouvez désinitialiser req.http.X-Geo-pays pour les pages/demandes qui ne correspondent pas à la page d'accueil. Si X-Geo-Country n'est pas défini/vide - fera le même hash :)