Annexe 2 entêtes HTTP et cookies
Accéder aux objets requêtes et réponses Ces objets sont disponibles dans les classes clé depuis la méthode awake les méthodes recevant ces objets en paramètres n ’importe quelle méthode grâce au contexte WORequest request = context().request(); WOResponse response = context().response(); Ces objets ne sont pas disponibles uniquement dans le constructeur de l ’application dans le constructeur de la session
Accéder aux entêtes HTTP Un entête HTTP est une paire « clé/valeur » Exemple accept-language=fr,en Depuis un objet requête String val = request.headerForKey(``accept-language``); NSArray keys = request.headerKeys();
Les cookies Un cookie est une paire clé/valeur stockée sur le poste client Il peut-être le lieu de stockage de l ’identifiant de session Il peut-être utilisé pour conserver des données concernant un utilisateur sur le poste client un utilisateur peut configurer son navigateur pour refuser les cookies !
Les cookies Pour ajouter un cookie à un objet réponse WOCookie cookie =WOCookie.cookieWithName(cle,valeur); response.addCookie(cookie); Pour spécifier les paramètre d ’un cookie void setDomain(String domain) void setPath(String path) …
Les cookies Pour extraire les données d ’un cookie String val = request.cookieValueForKey(cle); NSArray valeurs = request.cookieValues(); Les valeurs récupérées sont directement les chaînes de caractères, pas des objets de type WOCookie
Les cookies Pour placer l ’identifiant de session dans un cookie public Session() { super(); setStoresIDsInURLs(false); setStoresIDsInCookies(true); }
Ajouter du contenu personnalisé Il est possible de contrôler le contenu d ’une réponse reponse.setContent(data); reponse.appendContentData(data);
Annexe 2 entêtes HTTP et cookies