Koa.js - objeto de solicitação
Um objeto Koa Request é uma abstração no topo do objeto de solicitação vanilla do nó, fornecendo funcionalidade adicional que é útil para o desenvolvimento de servidor HTTP diário. O objeto de solicitação Koa é incorporado ao objeto de contexto,this. Vamos fazer logout do objeto de solicitação sempre que recebermos uma solicitação.
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);
Quando você executa este código e navega para https://localhost:3000/hello, você receberá a seguinte resposta.
No console, você obterá o objeto de solicitação 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'
}
}
Temos acesso a muitas propriedades úteis da solicitação usando este objeto. Vejamos alguns exemplos.
request.header
Fornece todos os cabeçalhos de solicitação.
request.method
Fornece o método de solicitação (GET, POST, etc.)
request.href
Fornece o URL de solicitação completo.
request.path
Fornece o caminho da solicitação. Sem string de consulta e url de base.
request.query
Fornece a string de consulta analisada. Por exemplo, se registrarmos isso em uma solicitação comohttps://localhost:3000/hello/?name=Ayush&age=20&country=India, então obteremos o seguinte objeto.
{
name: 'Ayush',
age: '20',
country: 'India'
}
request.accepts (type)
Esta função retorna verdadeiro ou falso com base no fato de os recursos solicitados aceitarem o tipo de solicitação fornecido.
Você pode ler mais sobre o objeto de solicitação nos documentos em Request .