Node.js - objeto de resposta
o res objeto representa a resposta HTTP que um aplicativo Express envia quando recebe uma solicitação HTTP.
Propriedades do objeto de resposta
A seguir está a lista de poucas propriedades associadas ao objeto de resposta.
Sr. Não. | Propriedades e descrição |
---|---|
1 | res.app Esta propriedade contém uma referência à instância do aplicativo expresso que está usando o middleware. |
2 | res.headersSent Propriedade booleana que indica se o aplicativo enviou cabeçalhos HTTP para a resposta. |
3 | res.locals Um objeto que contém variáveis locais de resposta com escopo para a solicitação |
Métodos de objeto de resposta
res.append (campo [, valor])
res.append(field [, value])
Este método anexa o valor especificado ao campo de cabeçalho de resposta HTTP. A seguir estão alguns exemplos -
res.append('Link', ['<http://localhost/>', '<http://localhost:3000/>']);
res.append('Set-Cookie', 'foo=bar; Path=/; HttpOnly');
res.append('Warning', '199 Miscellaneous warning');
res.attachment ([nome do arquivo])
res.attachment([filename])
Este método é usado para enviar um arquivo como anexo na resposta HTTP. A seguir estão alguns exemplos -
res.attachment('path/to/logo.png');
res.cookie (nome, valor [, opções])
res.cookie(name, value [, options])
Este método é usado para definir o nome do cookie como valor. O parâmetro de valor pode ser uma string ou objeto convertido em JSON. A seguir estão alguns exemplos -
res.cookie('name', 'tobi', { domain: '.example.com', path: '/admin', secure: true });
res.cookie('cart', { items: [1,2,3] });
res.cookie('cart', { items: [1,2,3] }, { maxAge: 900000 });
res.clearCookie (nome [, opções])
res.clearCookie(name [, options])
Este método é usado para limpar o cookie especificado pelo nome. A seguir estão alguns exemplos -
res.cookie('name', 'tobi', { path: '/admin' });
res.clearCookie('name', { path: '/admin' });
res.download (caminho [, nome do arquivo] [, fn])
res.download(path [, filename] [, fn])
Este método é usado para transferir o arquivo no caminho como um "anexo". Normalmente, os navegadores solicitarão que o usuário faça o download. A seguir estão alguns exemplos -
res.download('/report-12345.pdf');
res.download('/report-12345.pdf', 'report.pdf');
res.download('/report-12345.pdf', 'report.pdf', function(err){
});
res.end ([dados] [, codificação])
res.end([data] [, encoding])
Este método é usado para encerrar o processo de resposta. A seguir estão alguns exemplos -
res.end();
res.status(404).end();
res.format (objeto)
res.format(object)
Este método é usado para executar a negociação de conteúdo no cabeçalho Aceitar HTTP no objeto de solicitação, quando presente. A seguir estão alguns exemplos -
res.format ({
'text/plain': function() {
res.send('hey');
},
'text/html': function() {
res.send('hey');
},
'application/json': function() {
res.send({ message: 'hey' });
},
'default': function() {
// log the request and respond with 406
res.status(406).send('Not Acceptable');
}
});
res.get (campo)
res.get(field)
Este método é usado para retornar o cabeçalho de resposta HTTP especificado por campo. Aqui está um exemplo -
res.get('Content-Type');
res.json ([body])
res.json([body])
Este método é usado para enviar uma resposta JSON. A seguir estão alguns exemplos -
res.json(null)
res.json({ user: 'tobi' })
res.status(500).json({ error: 'message' })
res.jsonp ([body])
res.jsonp([body])
Este método é usado para enviar uma resposta JSON com suporte JSONP. A seguir estão alguns exemplos -
res.jsonp(null)
res.jsonp({ user: 'tobi' })
res.status(500).jsonp({ error: 'message' })
res.links (links)
res.links(links)
Este método é usado para unir os links fornecidos como propriedades do parâmetro para preencher o campo de cabeçalho HTTP Link da resposta. A seguir estão alguns exemplos -
res.links ({
next: 'http://api.example.com/users?page=2',
last: 'http://api.example.com/users?page=5'
});
res.location (caminho)
res.location(path)
Este método é usado para definir o campo de cabeçalho HTTP Location de resposta com base no parâmetro de caminho especificado. A seguir estão alguns exemplos -
res.location('/foo/bar');
res.location('foo/bar');
res.location('http://example.com');
res.redirect ([status,] caminho)
res.redirect([status,] path)
Este método é usado para redirecionar para o URL obtido no caminho especificado, com o status do código de status HTTP especificado. A seguir estão alguns exemplos -
res.redirect('/foo/bar');
res.redirect('http://example.com');
res.redirect(301, 'http://example.com');
res.render (view [, locais] [, callback])
res.render(view [, locals] [, callback])
Este método é usado para renderizar uma visualização e enviar a string HTML renderizada para o cliente. A seguir estão alguns exemplos -
// send the rendered view to the client
res.render('index');
// pass a local variable to the view
res.render('user', { name: 'Tobi' }, function(err, html) {
// ...
});
res.send ([body])
res.send([body])
Este método é usado para enviar a resposta HTTP. A seguir estão alguns exemplos -
res.send(new Buffer('whoop'));
res.send({ some: 'json' });
res.send('<p>some html</p>');
res.sendFile (caminho [, opções] [, fn])
res.sendFile(path [, options] [, fn])
Este método é usado para transferir o arquivo no caminho fornecido. Define o campo de cabeçalho HTTP de resposta do Content-Type com base na extensão do nome do arquivo. Aqui está um exemplo -
res.sendFile(fileName, options, function (err) {
// ...
});
res.sendStatus (statusCode)
res.sendStatus(statusCode)
Este método é usado para definir o código de status HTTP de resposta para statusCode e enviar sua representação de string como o corpo da resposta. A seguir estão alguns exemplos -
res.sendStatus(200); // equivalent to res.status(200).send('OK')
res.sendStatus(403); // equivalent to res.status(403).send('Forbidden')
res.sendStatus(404); // equivalent to res.status(404).send('Not Found')
res.sendStatus(500); // equivalent to res.status(500).send('Internal Server Error')
res.set (campo [, valor])
res.set(field [, value])
Este método é usado para definir o campo de cabeçalho HTTP da resposta como valor. A seguir estão alguns exemplos -
res.set('Content-Type', 'text/plain');
res.set ({
'Content-Type': 'text/plain',
'Content-Length': '123',
'ETag': '12345'
})
res.status (código)
res.status(code)
Este método é usado para definir o status HTTP da resposta. A seguir estão alguns exemplos -
res.status(403).end();
res.status(400).send('Bad Request');
res.status(404).sendFile('/absolute/path/to/404.png');
res.type (tipo)
res.type(type)
Este método é usado para definir o cabeçalho HTTP Content-Type para o tipo MIME. A seguir estão alguns exemplos -
res.type('.html'); // => 'text/html'
res.type('html'); // => 'text/html'
res.type('json'); // => 'application/json'
res.type('application/json'); // => 'application/json'
res.type('png'); // => image/png: