Объект отклика Koa — это абстракция поверх ванильного объекта отклика узла, предоставляющий дополнительную функциональность, полезную для повседневной разработки HTTP-сервера. Объект ответа Koa встроен в объект контекста, this . Давайте выйдем из объекта ответа всякий раз, когда мы получим запрос.
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);
Когда вы запустите этот код и перейдете по адресу https: // localhost: 3000 / hello, вы получите следующий ответ.
На вашей консоли вы выйдете из объекта запроса.
{ status: 200, message: 'OK', header: { 'content-type': 'text/plain; charset=utf-8', 'content-length': '12' }, body: 'Your request has been logged.' }
Статус и сообщение автоматически устанавливаются Koa, но могут быть изменены нами. Если мы не устанавливаем тело ответа, код состояния устанавливается равным 404. Как только мы устанавливаем тело ответа, по умолчанию устанавливается статус 200. Мы можем явно переопределить это поведение.
У нас есть доступ ко многим полезным свойствам ответа, использующим этот объект. Давайте посмотрим на некоторые примеры —
response.header
Предоставляет все заголовки ответа.
response.status
Предоставляет статус ответа (200, 404, 500 и т. Д.). Это свойство также используется для установки статуса ответа.
response.message
Предоставляет ответное сообщение. Это свойство также используется для установки пользовательских сообщений с ответами. Это связано с response.status.
response.body
Получить или установить тело ответа. Обычно мы получаем к нему доступ с помощью объекта контекста. Это просто еще один способ получить к нему доступ. Тело может иметь тип: String, Buffer, Stream, Object или Null.
response.type
Получить или установить тип содержимого текущего ответа.
response.get (поле)
Эта функция используется для получения значений заголовков в поле значения без учета регистра.
response.set (поле, значение)
Эта функция используется для установки заголовка ответа с использованием пары поле и значение.
response.remove (поле)
Эта функция используется для сброса заголовка ответа с использованием имени поля.
Вы можете прочитать больше об объекте ответа в документации на Response .