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