cache-control extension example
This commit is contained in:
@ -13,7 +13,6 @@ const t = require('typical')
|
|||||||
const flatten = require('reduce-flatten')
|
const flatten = require('reduce-flatten')
|
||||||
|
|
||||||
const usage = commandLineUsage(cliOptions.usageData)
|
const usage = commandLineUsage(cliOptions.usageData)
|
||||||
const stored = loadConfig('local-web-server')
|
|
||||||
|
|
||||||
let options
|
let options
|
||||||
let isHttps = false
|
let isHttps = false
|
||||||
@ -36,16 +35,14 @@ if (options.misc.help) {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
const convert = require('koa-convert')
|
|
||||||
const Koa = require('koa')
|
const Koa = require('koa')
|
||||||
const app = new Koa()
|
const app = new Koa()
|
||||||
const _use = app.use
|
|
||||||
app.use = x => _use.call(app, convert(x))
|
|
||||||
|
|
||||||
app.on('error', err => {
|
app.on('error', err => {
|
||||||
if (options.server['log-format']) {
|
if (options.server['log-format']) {
|
||||||
console.error(ansi.format(err.message, 'red'))
|
console.error(ansi.format(err.message, 'red'))
|
||||||
}
|
}
|
||||||
|
})
|
||||||
|
|
||||||
const ws = localWebServer({
|
const ws = localWebServer({
|
||||||
static: {
|
static: {
|
||||||
@ -64,7 +61,6 @@ if (options.misc.help) {
|
|||||||
log: {
|
log: {
|
||||||
format: options.server['log-format']
|
format: options.server['log-format']
|
||||||
},
|
},
|
||||||
cacheControl: options.server.cacheControl,
|
|
||||||
compress: options.server.compress,
|
compress: options.server.compress,
|
||||||
mime: options.server.mime,
|
mime: options.server.mime,
|
||||||
forbid: options.server.forbid,
|
forbid: options.server.forbid,
|
||||||
@ -122,6 +118,7 @@ function onServerUp () {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function collectOptions () {
|
function collectOptions () {
|
||||||
|
const stored = loadConfig('local-web-server')
|
||||||
let options = {}
|
let options = {}
|
||||||
|
|
||||||
/* parse command line args */
|
/* parse command line args */
|
||||||
|
17
extend/cache-control.js
Normal file
17
extend/cache-control.js
Normal file
@ -0,0 +1,17 @@
|
|||||||
|
'use strict'
|
||||||
|
const Koa = require('koa')
|
||||||
|
const localWebServer = require('../')
|
||||||
|
const cacheControl = require('koa-cache-control')
|
||||||
|
const convert = require('koa-convert')
|
||||||
|
|
||||||
|
const app = new Koa()
|
||||||
|
const ws = localWebServer({
|
||||||
|
'no-cache': true,
|
||||||
|
log: { format: 'dev' }
|
||||||
|
})
|
||||||
|
|
||||||
|
app.use(convert(cacheControl({
|
||||||
|
maxAge: 15
|
||||||
|
})))
|
||||||
|
app.use(ws)
|
||||||
|
app.listen(8000)
|
@ -117,13 +117,6 @@ function localWebServer (options) {
|
|||||||
middlewareStack.push(etag())
|
middlewareStack.push(etag())
|
||||||
}
|
}
|
||||||
|
|
||||||
/* cache-control headers */
|
|
||||||
if (options.cacheControl) {
|
|
||||||
const cacheControl = require('koa-cache-control')
|
|
||||||
debug('Cache control', JSON.stringify(options.cacheControl))
|
|
||||||
app.use(cacheControl(options.cacheControl))
|
|
||||||
}
|
|
||||||
|
|
||||||
/* mime-type overrides */
|
/* mime-type overrides */
|
||||||
if (options.mime) {
|
if (options.mime) {
|
||||||
debug('mime override', JSON.stringify(options.mime))
|
debug('mime override', JSON.stringify(options.mime))
|
||||||
|
@ -40,7 +40,6 @@
|
|||||||
"koa": "^2.0.0",
|
"koa": "^2.0.0",
|
||||||
"koa-bodyparser": "^3.0.0",
|
"koa-bodyparser": "^3.0.0",
|
||||||
"koa-compose": "^3.1.0",
|
"koa-compose": "^3.1.0",
|
||||||
"koa-cache-control": "^1.0.0",
|
|
||||||
"koa-compress": "^1.0.9",
|
"koa-compress": "^1.0.9",
|
||||||
"koa-conditional-get": "^1.0.3",
|
"koa-conditional-get": "^1.0.3",
|
||||||
"koa-connect-history-api-fallback": "~0.3.0",
|
"koa-connect-history-api-fallback": "~0.3.0",
|
||||||
@ -62,6 +61,7 @@
|
|||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
"jsdoc-to-markdown": "^1.3.6",
|
"jsdoc-to-markdown": "^1.3.6",
|
||||||
|
"koa-cache-control": "^1.0.0",
|
||||||
"req-then": "~0.2.4",
|
"req-then": "~0.2.4",
|
||||||
"tape": "^4.5.1"
|
"tape": "^4.5.1"
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user