Compress middleware for koa
Latest commit 2cfe266 Mar 3, 2017 @tinovyatkin tinovyatkin committed with coderhaoxin refactor: use async function
refactor to ES6 / async / await

removed eslint

closes #56

Koa Compress Build Status

Compress middleware for Koa


var compress = require('koa-compress')
var Koa = require('koa')

var app = new Koa()
  filter: function (content_type) {
  	return /text/i.test(content_type)
  threshold: 2048,
  flush: require('zlib').Z_SYNC_FLUSH


The options are passed to zlib:


An optional function that checks the response content type to decide whether to compress. By default, it uses compressible.


Minimum response size in bytes to compress. Default 1024 bytes or 1kb.

Manually turning compression on and off

You can always enable compression by setting this.compress = true. You can always disable compression by setting this.compress = false. This bypasses the filter check.

app.use((ctx, next) => {
  ctx.compress = true
  ctx.body = fs.createReadStream(file)