# Ler cabeçalhos e trabalhar com cookies

> Leia os cabeçalhos do pedido a partir de $.headers, leia e escreva cookies com $.cookie() e defina cabeçalhos de resposta.

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

`$.headers` contém os cabeçalhos do pedido com nomes em minúsculas. `$.cookie(name)` lê um cookie do pedido e `$.cookie(name, value, expiration)` escreve um na resposta. Os cabeçalhos de resposta definem-se em `$.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 });
}
```
