const koa = require('koa')
const Router = require('koa-router')
const vhost = require('koa-better-vhost')
const main = koa()
main.use(require('koa-compress')())
main.use(function* (next) {
this.today = new Date
yield next
})
let vhosts = []
let homepage = koa()
let homepageRouter = new Router()
homepageRouter.get('/', function* (next) {
this.body = `Hello ${this.today.toUTCString()}`
yield next
})
homepage.use(homepageRouter.routes())
vhosts.push({
host: 'example.com',
app: homepage
})
let api = koa()
api.use(function* auth (next) {
yield next
})
let apiRouter = new Router()
apiRouter.get('/', function* (next) {
console.info(typeof this.today)
this.body = `Hello from API`
yield next
})
api.use(apiRouter.routes())
vhosts.push({
host: /^api\.example\.com$/i,
app: api,
isolated: true
})
main.use(vhost(vhosts))