90 likes | 244 Views
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();
E N D
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