Node.js: objeto de respuesta
los res El objeto representa la respuesta HTTP que envía una aplicación Express cuando recibe una solicitud HTTP.
Propiedades del objeto de respuesta
A continuación se muestra la lista de algunas propiedades asociadas con el objeto de respuesta.
No Señor. | Propiedades y descripción |
---|---|
1 | res.app Esta propiedad contiene una referencia a la instancia de la aplicación express que utiliza el middleware. |
2 | res.headersSent Propiedad booleana que indica si la aplicación envió encabezados HTTP para la respuesta. |
3 | res.locals Un objeto que contiene variables locales de respuesta dentro del alcance de la solicitud |
Métodos de objetos de respuesta
res.append (campo [, valor])
res.append(field [, value])
Este método agrega el valor especificado al campo de encabezado de respuesta HTTP. A continuación se muestran algunos ejemplos:
res.append('Link', ['<http://localhost/>', '<http://localhost:3000/>']);
res.append('Set-Cookie', 'foo=bar; Path=/; HttpOnly');
res.append('Warning', '199 Miscellaneous warning');
res.attachment ([nombre de archivo])
res.attachment([filename])
Este método se utiliza para enviar un archivo como adjunto en la respuesta HTTP. A continuación se muestran algunos ejemplos:
res.attachment('path/to/logo.png');
res.cookie (nombre, valor [, opciones])
res.cookie(name, value [, options])
Este método se utiliza para establecer el nombre de la cookie en valor. El parámetro de valor puede ser una cadena u objeto convertido a JSON. A continuación se muestran algunos ejemplos:
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 (nombre [, opciones])
res.clearCookie(name [, options])
Este método se utiliza para borrar la cookie especificada por su nombre. A continuación se muestran algunos ejemplos:
res.cookie('name', 'tobi', { path: '/admin' });
res.clearCookie('name', { path: '/admin' });
res.download (ruta [, nombre de archivo] [, fn])
res.download(path [, filename] [, fn])
Este método se utiliza para transferir el archivo en la ruta como un "archivo adjunto". Normalmente, los navegadores solicitarán al usuario la descarga. A continuación se muestran algunos ejemplos:
res.download('/report-12345.pdf');
res.download('/report-12345.pdf', 'report.pdf');
res.download('/report-12345.pdf', 'report.pdf', function(err){
});
res.end ([datos] [, codificación])
res.end([data] [, encoding])
Este método se utiliza para finalizar el proceso de respuesta. A continuación se muestran algunos ejemplos:
res.end();
res.status(404).end();
res.format (objeto)
res.format(object)
Este método se utiliza para realizar la negociación de contenido en el encabezado Accept HTTP en el objeto de solicitud, cuando está presente. A continuación se muestran algunos ejemplos:
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 se utiliza para devolver el encabezado de respuesta HTTP especificado por campo. Aquí hay algunos ejemplos:
res.get('Content-Type');
res.json ([cuerpo])
res.json([body])
Este método se utiliza para enviar una respuesta JSON. A continuación se muestran algunos ejemplos:
res.json(null)
res.json({ user: 'tobi' })
res.status(500).json({ error: 'message' })
res.jsonp ([cuerpo])
res.jsonp([body])
Este método se utiliza para enviar una respuesta JSON con soporte JSONP. A continuación se muestran algunos ejemplos:
res.jsonp(null)
res.jsonp({ user: 'tobi' })
res.status(500).jsonp({ error: 'message' })
res.links (enlaces)
res.links(links)
Este método se utiliza para unir los enlaces proporcionados como propiedades del parámetro para completar el campo de encabezado HTTP del enlace de la respuesta. A continuación se muestran algunos ejemplos:
res.links ({
next: 'http://api.example.com/users?page=2',
last: 'http://api.example.com/users?page=5'
});
res.location (ruta)
res.location(path)
Este método se utiliza para establecer el campo de encabezado HTTP de ubicación de respuesta en función del parámetro de ruta especificado. A continuación se muestran algunos ejemplos:
res.location('/foo/bar');
res.location('foo/bar');
res.location('http://example.com');
res.redirect ([estado,] ruta)
res.redirect([status,] path)
Este método se utiliza para redirigir a la URL derivada de la ruta especificada, con el estado del código de estado HTTP especificado. A continuación se muestran algunos ejemplos:
res.redirect('/foo/bar');
res.redirect('http://example.com');
res.redirect(301, 'http://example.com');
res.render (ver [, locales] [, devolución de llamada])
res.render(view [, locals] [, callback])
Este método se utiliza para renderizar una vista y envía la cadena HTML renderizada al cliente. A continuación se muestran algunos ejemplos:
// 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 ([cuerpo])
res.send([body])
Este método se utiliza para enviar la respuesta HTTP. A continuación se muestran algunos ejemplos:
res.send(new Buffer('whoop'));
res.send({ some: 'json' });
res.send('<p>some html</p>');
res.sendFile (ruta [, opciones] [, fn])
res.sendFile(path [, options] [, fn])
Este método se utiliza para transferir el archivo en la ruta indicada. Establece el campo de encabezado HTTP de respuesta de tipo de contenido según la extensión del nombre de archivo. Aquí hay un ejemplo:
res.sendFile(fileName, options, function (err) {
// ...
});
res.sendStatus (código de estado)
res.sendStatus(statusCode)
Este método se utiliza para establecer el código de estado HTTP de respuesta en statusCode y enviar su representación de cadena como el cuerpo de la respuesta. A continuación se muestran algunos ejemplos:
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 se utiliza para establecer el campo de encabezado HTTP de la respuesta en valor. A continuación se muestran algunos ejemplos:
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 se utiliza para establecer el estado HTTP de la respuesta. A continuación se muestran algunos ejemplos:
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 se utiliza para establecer el encabezado HTTP Content-Type en el tipo MIME. A continuación se muestran algunos ejemplos:
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: