Учебники

Koa.js — Запрос объекта

Объект Koa Request — это абстракция поверх ванильного объекта запроса узла, предоставляющий дополнительные функциональные возможности, которые полезны для повседневной разработки HTTP-сервера. Объект запроса Koa встроен в объект контекста this . Давайте выйдем из объекта запроса всякий раз, когда мы получим запрос.

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);

Когда вы запустите этот код и перейдете по адресу https: // localhost: 3000 / hello , вы получите следующий ответ.

Объект запроса

На вашей консоли вы выйдете из объекта запроса.

{ 
   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' 
   }
}

У нас есть доступ ко многим полезным свойствам запроса, использующим этот объект. Давайте посмотрим на некоторые примеры.

request.header

Предоставляет все заголовки запроса.

request.method

Предоставляет метод запроса (GET, POST и т. Д.)

request.href

Предоставляет полный URL-адрес запроса.

request.path

Предоставляет путь к запросу. Без строки запроса и базового URL.

request.query

Дает разобранную строку запроса. Например, если мы запишем это по запросу, такому как https: // localhost: 3000 / hello /? Name = Ayush & age = 20 & country = India , мы получим следующий объект.

{
   name: 'Ayush',
   age: '20',
   country: 'India'
}

request.accepts (тип)

Эта функция возвращает истину или ложь в зависимости от того, принимают ли запрошенные ресурсы данный тип запроса.

Вы можете узнать больше об объекте запроса в документации по запросу .