Koa.js: objeto de solicitud
Un objeto de solicitud de Koa es una abstracción sobre el objeto de solicitud de vainilla del nodo, que proporciona una funcionalidad adicional que es útil para el desarrollo diario del servidor HTTP. El objeto de solicitud de Koa está incrustado en el objeto de contexto,this. Cierre la sesión del objeto de solicitud 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(){
console.log(this.request);
this.body = 'Your request has been logged.';
}
app.use(_.routes());
app.listen(3000);
Cuando ejecuta este código y navega a https://localhost:3000/hello, entonces recibirá la siguiente respuesta.
En su consola, obtendrá el objeto de solicitud desconectado.
{
method: 'GET',
url: '/hello/',
header:
{
host: 'localhost:3000',
connection: 'keep-alive',
'upgrade-insecure-requests': '1',
'user-agent': 'Mozilla/5.0 (X11; Linux x86_64)
AppleWebKit/537.36 (KHTML, like Gecko) Chrome/52.0.2743.116 Safari/537.36',
accept: 'text/html,application/xhtml+xml,
application/xml;q = 0.9,image/webp,*/*;q = 0.8',
dnt: '1',
'accept-encoding': 'gzip, deflate, sdch',
'accept-language': 'en-US,en;q = 0.8'
}
}
Tenemos acceso a muchas propiedades útiles de la solicitud usando este objeto. Veamos algunos ejemplos.
request.header
Proporciona todos los encabezados de la solicitud.
request.method
Proporciona el método de solicitud (GET, POST, etc.)
request.href
Proporciona la URL de solicitud completa.
request.path
Proporciona la ruta de la solicitud. Sin cadena de consulta y URL base.
request.query
Da la cadena de consulta analizada. Por ejemplo, si registramos esto en una solicitud comohttps://localhost:3000/hello/?name=Ayush&age=20&country=India, luego obtendremos el siguiente objeto.
{
name: 'Ayush',
age: '20',
country: 'India'
}
request.accepts (tipo)
Esta función devuelve verdadero o falso en función de si los recursos solicitados aceptan el tipo de solicitud dado.
Puede leer más sobre el objeto de solicitud en los documentos en Solicitud .