3 category: JavaScript libraries
9 app.use(function * (next) {
17 ctx.state.user = yield User.find(id).fetch()
19 ctx.cookies.set('foo', 'hello', { signed: true })
20 ctx.cookies.get('foo')
28 ctx.header // ctx.headers
32 ctx.origin // => 'http://example.com'
33 ctx.href // => 'http://example.com/foo?q=hello'
35 ctx.query // { q: 'hello' }
38 ctx.querystring // and =
49 ctx.is() // .is('html') .is('text/html')
50 ctx.accepts() // .accepts('html') .accepts('html', 'json')
51 ctx.acceptsEncodings() // .acceptsEncodings('gzip')
53 ctx.acceptsLanguages()
56 ctx.request.type // => 'image/jpg'
57 ctx.request.charset // => 'utf-8'
58 ctx.request.protocol // => 'https'
59 ctx.request.secure // => true
60 ctx.request.ip // (supports X-Forwarded-For if app.proxy)
62 ctx.request.subdomains
74 ctx.throw('name required', 403)
75 ctx.throw(403, 'name required')
77 ctx.assert(ctx.state.user, 401, 'You must log in')
83 exports.conditionalGet = require('koa-conditional-get');
84 exports.responseTime = require('koa-response-time');
85 exports.ratelimit = require('koa-ratelimit');
86 exports.compress = require('koa-compress');
87 exports.rewrite = require('koa-rewrite');
88 exports.favicon = require('koa-favicon');
89 exports.session = require('koa-session');
90 exports.static = require('koa-static');
91 exports.logger = require('koa-logger');
92 exports.mount = require('koa-mount');
93 exports.etag = require('koa-etag');