Koa.js - Objeto de respuesta
Un objeto de respuesta de Koa es una abstracción sobre el objeto de respuesta de vainilla del nodo, que proporciona una funcionalidad adicional que es útil para el desarrollo diario del servidor HTTP. El objeto de respuesta Koa está incrustado en el objeto de contexto,this. Cierre la sesión del objeto de respuesta cada vez que recibamos una solicitud.
var koa = require('koa');
var router = require('koa-router');
var app = koa();
var _ = router();
_.get('/hello', getMessage);
function *getMessage(){
this.body = 'Your request has been logged.';
console.log(this.response);
}
app.use(_.routes());
app.listen(3000);
Cuando ejecuta este código y navega a https://localhost:3000/hello entonces recibirás la siguiente respuesta.
En su consola, obtendrá el objeto de solicitud desconectado.
{
status: 200,
message: 'OK',
header:
{
'content-type': 'text/plain; charset=utf-8',
'content-length': '12'
},
body: 'Your request has been logged.'
}
Koa establece automáticamente el estado y el mensaje, pero nosotros podemos modificarlos. Si no configuramos el cuerpo de la respuesta, el código de estado se establece en 404. Una vez que configuramos el cuerpo de la respuesta, el estado se establece en 200 por defecto. Podemos anular explícitamente este comportamiento.
Tenemos acceso a muchas propiedades útiles de la respuesta usando este objeto. Veamos algunos ejemplos:
response.header
Proporciona todos los encabezados de respuesta.
response.status
Proporciona el estado de la respuesta (200, 404, 500, etc.). Esta propiedad también se utiliza para establecer el estado de la respuesta.
respuesta.mensaje
Proporciona el mensaje de respuesta. Esta propiedad también se usa para configurar mensajes personalizados con respuestas. Está asociado con response.status.
respuesta.cuerpo
Obtén o establece el cuerpo de respuesta. Por lo general, accedemos a él utilizando el objeto de contexto. Esta es solo otra forma de acceder a ella. El cuerpo puede ser del tipo: String, Buffer, Stream, Object o Null.
response.type
Obtiene o establece el tipo de contenido de la respuesta actual.
response.get (campo)
Esta función se utiliza para obtener los valores de los encabezados con un campo de valor que no distingue entre mayúsculas y minúsculas.
response.set (campo, valor)
Esta función se utiliza para establecer un encabezado en la respuesta mediante un par de campo y valor.
response.remove (campo)
Esta función se usa para desarmar un encabezado en la respuesta usando un nombre de campo.
Puede leer más sobre el objeto de respuesta en los documentos en Respuesta .