Объект 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 (тип)
Эта функция возвращает истину или ложь в зависимости от того, принимают ли запрошенные ресурсы данный тип запроса.
Вы можете узнать больше об объекте запроса в документации по запросу .