AP SET WEB FILTERS

4D - Documentation   Français   English   German   4D_Pack, Commandes par thèmes   4D_Pack, Index des commandes   Retour   Précédent   Suivant

version 6.0.5


AP SET WEB FILTERS (filtreEntrée; filtreSortie; jeu)

ParamètreTypeDescription
filtreEntréeAlphaNom de la méthode 4D à appeler
filtreSortieAlphaNom de la méthode 4D à appeler
jeuEntier longJeu de caractères à utiliser pour le filtre de sortie

Description

La commande AP SET WEB FILTERS désigne les méthodes 4D qui sont appelées lors de l'entrée ou de la sortie d'un stream HTTP. En version client/serveur, cette commande doit être appelée dans une méthode exécutée sur serveur (procédure stockée). Ces filtres sont globaux à tous les process.

Pour ne pas spécifier de filtre d'entrée ou de filtre de sortie, passez une chaîne vide dans le paramètre correspondant.

Le paramètre jeu permet de spécifier le jeu de caractères des données à filtrer :

0 : les données à filtrer sont dans le jeu de caractères du browser.

1 : les données à filtrer sont dans le jeu de caractères Macintosh.

Filtre d'entrée : Le filtre d'entrée est appelé à chaque fois que le browser envoie une requête.

Cette fonction est davantage destinée à recueillir des informations qu'à les filtrer.

Filtre de sortie : Le filtre de sortie est appelé à chaque fois que 4D retourne une réponse au browser (à l'exception des images). Cette fonction est destinée à modifier l'en-tête du stream HTTP ou les données HTML de la page à envoyer.

Exemples

(1) Voici un exemple de méthode appelée en tant que filtre d'entrée :

      ` Exemple de filtre d'entrée pour connaître l'adresse de celui qui envoie la requête
   C_BLOB($0;$1)
      ` $1 contient les données provenant du browser
      ` $0 contient les données à retourner à 4D 
      ` On suppose que la requête fait moins de 32 ko 
   $flux:=BLOB vers texte($1;Texte sans longueur)
   $pos:=Position("Host :";$flux)
   Si ($pos>0)
      $hote:=Sous chaine($flux;$pos+5;Longueur($flux))
      $pos2:=Position(Caractere(13)+Caractere(10);$hote)
         ` L'adresse de l'hôte est comprise entre Host : et le retour chariot
      $adressehote:=Sous chaine($hote;1;$pos2-1)
         ` ...
   Fin de si
   $0:=$1   `Retourner les données tel quelles

(2) Voici un exemple de méthode appelée en tant que filtre de sortie :

      ` Exemple de filtre de sortie qui insère du texte dans la page HTML
   C_BLOB($0;$1)
      ` $1 contient les données générées par 4D
      ` $0 contient les données à envoyer au browser 
      ` On suppose que la page fait moins de 32 ko 
   $0:=$1   `Recopier les données 
   $flux:=BLOB vers texte($0;Texte sans longueur)
   $pos:=Position("<BODY>";$flux)
   Si (pos>0)
      $texte:="<BR><B>Le texte</B><BR><BR>"
      TEXTE VERS BLOB($texte;$blob;Texte sans longueur)
      $pos:=$pos+5   `Insérer le texte après <BODY>
      INSERER DANS BLOB($0;$pos;Longueur($texte))
      $postxt:=0
      COPIER BLOB($blob;$0;$postxt;$pos;Longueur($texte))
   Fin de si

4D - Documentation   Français   English   German   4D_Pack, Commandes par thèmes   4D_Pack, Index des commandes   Retour   Précédent   Suivant