Reference
app.use(function * (next) {
var ctx = this
ctx.request
ctx.response
ctx.body = 'hello'
ctx.state.user = yield User.find(id).fetch()
ctx.cookies.set('foo', 'hello', { signed: true })
ctx.cookies.get('foo')
ctx.throw(403)
Request
ctx.header
ctx.method
ctx.url
ctx.originalUrl
ctx.origin
ctx.href
ctx.path
ctx.query
ctx.query
ctx.querystring
ctx.querystring
ctx.host
ctx.hostname
ctx.fresh
ctx.stale
ctx.socket
ctx.protocol
ctx.secure
ctx.ip
ctx.ips
ctx.subdomains
ctx.is()
ctx.accepts()
ctx.acceptsEncodings()
ctx.acceptsCharsets()
ctx.acceptsLanguages()
ctx.get()
ctx.request.type
ctx.request.charset
ctx.request.protocol
ctx.request.secure
ctx.request.ip
ctx.request.ips
ctx.request.subdomains
ctx.request.fresh
ctx.request.stale
Response
ctx.body = 'hello'
ctx.throw(403)
ctx.throw('name required', 403)
ctx.throw(403, 'name required')
ctx.throw('oops')
ctx.assert(ctx.state.user, 401, 'You must log in')
Middlewares
exports.conditionalGet = require('koa-conditional-get');
exports.responseTime = require('koa-response-time');
exports.ratelimit = require('koa-ratelimit');
exports.compress = require('koa-compress');
exports.rewrite = require('koa-rewrite');
exports.favicon = require('koa-favicon');
exports.session = require('koa-session');
exports.static = require('koa-static');
exports.logger = require('koa-logger');
exports.mount = require('koa-mount');
exports.etag = require('koa-etag');