# Lire les en-têtes et travailler avec les cookies

> Lisez les en-têtes de la requête depuis $.headers, lisez et écrivez des cookies avec $.cookie() et définissez des en-têtes de réponse.

Framework: total5
Product: Total.js 5 (total5@0.0.19)
Language: fr
Content-SHA256: b7044ff313bb2dcb555b9ee7f416d208e62ebe1aa4746b0150d506af6cdeafc3
Snapshot: c0700e321579725c5cf4f5ace1ad7d2866d1b4f93c24a63c0b41b6b7998e976c
Sources: total5-installed@total5@0.0.19
Review: not-recorded

`$.headers` contient les en-têtes de la requête avec des noms en minuscules. `$.cookie(name)` lit un cookie de la requête et `$.cookie(name, value, expiration)` en écrit un dans la réponse. Les en-têtes de réponse se définissent dans `$.response.headers`.

```js controllers/headers.js
exports.install = function() {
	ROUTE('GET /headers/', headers);
	ROUTE('GET /visit/', visit);
};

function headers($) {
	$.response.headers['x-powered-by-forge'] = 'yes';
	$.json({ agent: $.headers['x-agent'] || null });
}

function visit($) {
	var count = ($.cookie('visits') || '0').parseInt() + 1;
	$.cookie('visits', count + '', '1 day');
	$.json({ visits: count });
}
```
