# Lee cabeceras y trabaja con cookies

> Lee las cabeceras de la petición desde $.headers, lee y escribe cookies con $.cookie() y define cabeceras de respuesta.

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

`$.headers` contiene las cabeceras de la petición con nombres en minúsculas. `$.cookie(name)` lee una cookie de la petición y `$.cookie(name, value, expiration)` escribe una en la respuesta. Las cabeceras de respuesta se definen en `$.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 });
}
```
